Во-первых, я согласен со всеми комментариями к вашему вопросу о форматировании, отладке, макросах и т. Д. Но я постараюсь объяснить вам, как новичку, что происходит в коде.
ЭтоВот как вы бы определили вектор типа int:
vector<int> v;
Это определит массив из 10 векторов типа int:
vector<int> v[10];
Это то, что делает ваша программа: она определяет массив, который содержит 10 векторов.
При доступе к данным это:
v[n][i]
То, что происходит, это то, что вы беретеn-й вектор в массиве и получение i-го элемента в этом векторе.
Когда вы делаете это:
v[a].PB(b);
вы берете а-й вектор в массивеи добавление числа b в конец его как нового элемента в этом векторе.
После этого вам просто нужно тщательно следовать логике кода.Я бы посоветовал использовать отладчик для пошагового выполнения кода и проверки значений переменных при этом.
Но в основном пользователь вводит значения, которые программа затем добавляет к векторам сложным образом (без защиты пользователя, вводящего значения вне диапазона - очень опасно).Затем программа распечатывает все значения первых 5 векторов.