Вопрос задан так, что на него можно ответить как угодно:
да, можно;
нет нельзя.
Вам какой ответ нужен? Выбирайте.
А если хотите конкретику, то уточняйте вводные. Например, “допустимы ли “пустые” (неиспользуемые) ячейки в двумерном массиве?”. Или, скажем: “допустимо ли использовать дополнительный одномерный массив указателей размером в количество Ваших “массивов разной длины”?”
Без ответов на эти вопросы, разговор ни о чём и ответ может быть любым.
Допустимы неиспользуемые. В задачу программиста входит занесение туда таких значений, которые алгоритмом будут восприниматься как “ничего”. Либо алгоритму известны адреса (или закон адресации) заполненных и пустых ячеек. Ибо для кода нет пустоты в данных - только числа.
Надо бы поинтересоваться, что вообще алгоритм делает. Вы своим примером данные из нулевого часа закинули в первый. Технически синтаксис верный, но логика нарушена (о которой можно только догадываться). Тут, кажется, опять сейчас будут штаны через голову надевать. Пошел за попкорном.
Да, я поражаюсь, казалось бы, после №12 уже ж можно было понять, что лучше попытаться скомпилировать прежде, чем выкладывать? И почему это не делается?