{ Сибирский Государственный Университет Путей Сообщения (СГУПС) Кафедра "Информационные технологии транспорта" Задание: Сортировка элементов в порядке убывания по строкам в двухмерном массиве A(n,m) Выполнил: ст.гр. МЛ-212, Фомин Александр г.Новосибирск, 2014г. } Program CyberPascal; uses crt; const n=8; m=10; type matrix=array [1..n,1..m] of real; var a:matrix; {----- Генерируем матрицу Start -----} Procedure GenerateMatrix(var x:matrix; n,m:byte); var i,j:byte; Begin for i:=1 to n do for j:=1 to m do X[i,j]:=Random(51)-25.; end; {----- Генерируем матрицу End -----} {----- Выводим матрицу на экран Start -----} Procedure OutPutMatrix(x:matrix; name:string; n,m:byte); var i,j:byte; Begin Writeln(' Матрица ' +Name+ ': '); for i:=1 to n do Begin for j:=1 to m do Write(X[i,j]:7:2); Writeln; end; end; {----- Выводим матрицу на экран End -----} {----- Сортировка матрицы Start -----} Procedure SortingMatrix(var x:matrix; n,m:byte); var i,j,k,l:byte; cache:real; Begin for j:=1 to m do for i:=1 to n do Begin Cache:=X[i,j]; L:=1; While (X[L,j] > Cache) do Inc(L); for k:=i downto (L+1) do X[k,j]:=X[k-1,j]; X[L,j]:=Cache; end; end; {----- Сортировка матрицы End -----} Begin clrscr; Randomize; GenerateMatrix(A,N,M); Write('--------------------------------------------------------------------------------'); OutPutMatrix(A,'A',N,M); SortingMatrix(A,N,M); Write('--------------------------------------------------------------------------------'); OutPutMatrix(A,'A (новая)',N,M); Write('--------------------------------------------------------------------------------'); GotoXY(15,WhereY); Writeln('Для выхода из программы нажмите клавишу "Enter"'); Write('--------------------------------------------------------------------------------'); Readln; end.