Как вы можете создать 2D-массив, скажем, arr[][] с 5 строками, и каждая строка имеет переменное количество столбцов в нем?
возможно arr[5][] с 1-й строкой arr[0][] с 4 столбцами
2-я строка arr[1][] с 5 столбцами и так далее?
Я бы не возражал против векторного решения STL, но я еще не знаю, что такое векторы.