Advertisement
klasscho

Untitled

Dec 11th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. program Project11;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. {$R *.res}
  6.  
  7. uses
  8. System.SysUtils;
  9.  
  10. function MatrixInput(): integer;
  11.  
  12. var i, j, imin, imax, size: integer;
  13. a: array [1..size, 1..size] of integer;
  14. begin
  15. Writeln('Enter matrix size:');
  16. Readln (size);
  17. randomize;
  18. writeln('Source matrix:');
  19. for i := 1 to size do
  20. begin
  21. for j := 1 to size do
  22. begin
  23. a[i, j] := -10 + random(50);
  24. write(a[i, j]:4)
  25. end;
  26. writeln
  27. end;
  28. MatrixInput := a;
  29. end;
  30.  
  31. procedure FindEl(const size: integer; a: array [1..size, 1..size] of integer);
  32. var
  33. i, j, imin, imax: integer;
  34. begin
  35. imin := 1;
  36. imax := 1;
  37. for i := 1 to size do
  38. if a[i, i] < a[imin, imin]
  39. then imin := i
  40. else if a[i, i] > a[imax, imax]
  41. then imax := i;
  42. writeln('Минимальный элемент главной диагонали матрицы: a[', imin:2, ', ', imin:2, '] = ', a[imin, imin]:3);
  43. writeln('Максимальный элемент главной диагонали матрицы: a[', imax:2, ', ', imax:2, '] = ', a[imax, imax]:3);
  44. end;
  45.  
  46. procedure NewMatrix(const size: integer; a: array [1..size, 1..size] of integer);
  47. var
  48. i, j, imin, imax: integer;
  49. begin
  50. i := a[imin, imin];
  51. a[imin, imin] := a[imax, imax];
  52. a[imax, imax] := i;
  53. writeln('Результат:');
  54. for i := 1 to size do
  55. begin
  56. for j := 1 to size do write(a[i, j]:4);
  57. writeln
  58. end;
  59. readln
  60. end;
  61.  
  62. var
  63. i, j, imin, imax, size: integer;
  64. Matrixx :array [1..size, 1..size] of integer;
  65. begin
  66. Matrixx := MatrixInput;
  67. FindEl(size, Matrixx);
  68. NewMatrix(size, Matrixx);
  69. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement