Advertisement
CyberPascal

Cpascal #2

Jan 31st, 2014
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.23 KB | None | 0 0
  1. {
  2. Сибирский Государственный Университет Путей Сообщения (СГУПС)
  3. Кафедра "Информационные технологии транспорта"
  4.  
  5. Задание:
  6. Сортировка элементов в порядке убывания по строкам в двухмерном массиве A(n,m)
  7.  
  8. Выполнил: ст.гр. МЛ-212, Фомин Александр
  9. г.Новосибирск, 2014г.
  10. }
  11. Program CyberPascal; uses crt;
  12.  
  13. const n=8; m=10;
  14.  
  15. type matrix=array [1..n,1..m] of real;
  16.  
  17. var a:matrix;
  18.      
  19. {----- Генерируем матрицу Start -----}
  20. Procedure GenerateMatrix(var x:matrix; n,m:byte);
  21. var i,j:byte;
  22. Begin
  23. for i:=1 to n do
  24.     for j:=1 to m do X[i,j]:=Random(51)-25.;
  25. end;
  26. {----- Генерируем матрицу End -----}
  27.  
  28. {----- Выводим матрицу на экран Start -----}
  29. Procedure OutPutMatrix(x:matrix; name:string; n,m:byte);
  30. var i,j:byte;
  31. Begin
  32. Writeln(' Матрица ' +Name+ ': ');
  33. for i:=1 to n do
  34.     Begin
  35.     for j:=1 to m do Write(X[i,j]:7:2);
  36.     Writeln;
  37.     end;
  38. end;
  39. {----- Выводим матрицу на экран End -----}
  40.  
  41. {----- Сортировка матрицы Start -----}
  42. Procedure SortingMatrix(var x:matrix; n,m:byte);
  43. var i,j,k,l:byte;
  44.     cache:real;
  45. Begin
  46. for j:=1 to m do
  47.     for i:=1 to n do
  48.         Begin
  49.         Cache:=X[i,j];
  50.         L:=1;
  51.  
  52.         While (X[L,j] > Cache) do Inc(L);
  53.  
  54.         for k:=i downto (L+1) do X[k,j]:=X[k-1,j];
  55.         X[L,j]:=Cache;
  56.         end;
  57. end;
  58. {----- Сортировка матрицы End -----}
  59.  
  60. Begin clrscr;
  61. Randomize;
  62. GenerateMatrix(A,N,M);
  63. Write('--------------------------------------------------------------------------------');
  64. OutPutMatrix(A,'A',N,M);
  65. SortingMatrix(A,N,M);
  66. Write('--------------------------------------------------------------------------------');
  67. OutPutMatrix(A,'A (новая)',N,M);
  68. Write('--------------------------------------------------------------------------------');
  69. GotoXY(15,WhereY); Writeln('Для выхода из программы нажмите клавишу "Enter"');
  70. Write('--------------------------------------------------------------------------------');
  71. Readln;
  72. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement