Помощь - Поиск - Пользователи - Календарь
Полная версия: Сортировка двумерного массива методом вставки без перевода в одномерный
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Nodl
собственно, сабж. Юзал поиск, не нашел. Самому написать не вышло. Это вообще возможно?
volvo
Цитата
Это вообще возможно?
Возможно, и очень несложно, кстати... Если в одномерном массиве у тебя есть один индекс, то в двумерном - два, причем тебе известны число строк и число столбцов твоей матрицы, то есть, из одномерного (номер элемента от начала матрицы) ты можешь очень просто получить два индекса, определяющие номер строки/столбца, в которых элемент находится:
A[i div num_cols, i mod num_cols], где i - номер элемента от начала матрицы, а num_cols - число столбцов матрицы (это в случае, если матрица индексируется с 0, а не с 1-цы, поскольку Паскаль допускает любой начальный индекс - выбирай именно 0)...

Общее число сортируемых элементов тебе тоже известно: достаточно перемножить число строк на число столбцов... Вот и все, что тебе надо... А теперь в процедуре, которая правильно сортирует одномерный массив, просто меняй обращение к элементу массива на обращение к элементу матрицы. Пробуй, что не получится - говори...
Nodl
Спасибо за быстрый, развернутый ответ. Все написал, работает cool.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.