"Упорядочить строки матрицы чисел по возрастанию их минимальных элементов." Турбо Паскаль

FasterHarder
Дата: 28.11.2007 17:08:15
I started in 1983, in 2007 i still on a case!

Всем программистам привет! Respect! В общем есть такая несложная задачка:
"Упорядочить строки матрицы чисел по возрастанию их минимальных элементов."
Задумался над рациональным алгоритмом. Первое что пришло в голову:
1) создать дополнительный двумерный массив(например tempArr) с количеством строк равным количеству строк исходного массива и состоящий из только из двух столбцов
2) в каждую строку записывать в первую колонку минимальный элемент, а во вторую колонку номер строки
3) сортировать массив tempArr по возрастанию по первой колонке
4) написать процедуру такой сигнатуры, которая вызывается пробегом по tempArr:

{набросок}
j := 2;
for i := 1 to n do
begin
  printArr(tempArr[i, j]);
end;

procedure printArr(numberStr : byte);
begin
  writeln;
  for j := 1 to n do
  begin
    write(исходный_массив[numberStr, j], ' ');
  end;
end;
Подскажите как быть то?
Naf
Дата: 28.11.2007 17:30:06
Рациональный алгоритм. Для 2-мерного массива (исходной матрицы) создаем одномерный размером в число строк матрицы. Туда заполняем минимальные элементы строк матрицы. Сортируем одномерный массив (быстрая сортировка, пузырьком и т.д.), при этом когда меняем местами элементы одномерного массива, меняем и местами и строки в матрице (элементы в одном столбце).