Advertisement
TerryChan

Untitled

Mar 16th, 2020
461
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.61 KB | None | 0 0
  1. type
  2.   Stroke = array of real;
  3.   Matrix = array of Stroke;
  4.  
  5. var
  6.   a : Matrix;
  7.   l: integer;
  8.   s1, s2: real;
  9.  
  10. procedure InputMatrix(var m: Matrix; const l : integer);
  11. var
  12.   i, j: integer;
  13. begin
  14.   writeln('Ввод матрицы:');
  15.   SetLength(m, l);
  16.   for i := 0 to l - 1 do begin
  17.     SetLength(m[i], l);
  18.     for j := 0 to l - 1 do
  19.       read(m[i,j]);
  20.   end;
  21.   writeln;
  22. end;
  23.  
  24. procedure WriteMatrix(const m: Matrix; const l : integer);
  25. var
  26.   i, j, t: integer;
  27. begin
  28.   writeln('Вывод матрицы:');
  29.   for i := 0 to l - 1 do begin
  30.     for j := 0 to l - 1 do
  31.       write(m[i,j], ' ');
  32.     writeln;
  33.   end;
  34.   writeln;
  35. end;
  36.  
  37. procedure SumOfArray(const s: Stroke; const l : integer; var result: real);
  38. var
  39.   i : integer;
  40.   r : real;
  41. begin
  42.   for i := 0 to l - 1 do
  43.     r := r + s[i];
  44.   result := r
  45. end;
  46.  
  47. procedure SumOfDiangols(const m: Matrix; const l : integer; var s1, s2: real);
  48. var
  49.   i: integer;
  50.   t1,t2 : Stroke;
  51. begin
  52.   SetLength(t1, l);
  53.   SetLength(t2, l);
  54.   for i := 0 to l - 1 do begin
  55.     t1[i] := m[i, i];
  56.     t2[i] := m[i, l - i -  1];
  57.   end;
  58.   SumOfArray(t1, l, s1);
  59.   SumOfArray(t2, l, s2);
  60. end;
  61.  
  62. procedure CompareSumOfDiangols(const s1, s2 : real);
  63. begin
  64.   if s2 < s1
  65.   then writeln('Побочная диагональ имеет минимальное значение: ', s2)
  66.   else writeln('Главная диагональ имеет минимальное значение: ', s1);
  67. end;
  68.  
  69. begin
  70.   write('Размерность матрицы: ');
  71.   readln(l);
  72.   InputMatrix(a, l);
  73.   SumOfDiangols(a, l, s1, s2);
  74.   CompareSumOfDiangols(s1, s2);
  75. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement