Advertisement
gguuppyy

(динам) сумма перпендикулярно выше главной диагонали

Nov 11th, 2023
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.44 KB | Source Code | 0 0
  1. program InputArray;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6.   Windows, SysUtils;
  7.  
  8. type
  9.   TArray = array of array of Integer;
  10.  
  11. var
  12.   n, i, j, sum, count, two, one, k: Integer;
  13.   myArray: TArray;
  14.  
  15. begin
  16.   SetConsoleCP(1251);
  17.   SetConsoleOutputCP(1251);
  18.  
  19.   // Ввод размера массива
  20.   Write('Введите размер массива: ');
  21.   ReadLn(n);
  22.  
  23.   // Инициализация динамического массива
  24.   SetLength(myArray, n, n);
  25.  
  26.   // Ввод значений массива
  27.   for i := 0 to n - 1 do
  28.   begin
  29.     for j := 0 to n - 1 do
  30.     begin
  31.       Write('Введите значение для элемента [', i + 1, ',', j + 1, ']: ');
  32.       ReadLn(myArray[i, j]);
  33.     end;
  34.   end;
  35.  
  36.   // Вывод массива
  37.   Writeln('Введенный массив:');
  38.   for i := 0 to n - 1 do
  39.   begin
  40.     for j := 0 to n - 1 do
  41.       Write(myArray[i, j]:5);
  42.  
  43.     Writeln;
  44.   end;
  45.  
  46.   sum := myArray[0, 0];
  47.   count := 1;
  48.   one := 0;
  49.   two := 0;
  50.  
  51.   for k := 1 to 2 * (n - 1) do
  52.   begin
  53.     if (k mod 2 <> 0) then
  54.       one := 1 + one;
  55.     j := one;
  56.  
  57.     if (k mod 2 = 0) then
  58.       two := 1 + two;
  59.     i := two;
  60.  
  61.     while (j < n) and (i >= 0) do
  62.     begin
  63.       if (count = (i + j)) then
  64.       begin
  65.         sum := sum + myArray[i, j];
  66.         writeln(i, j);
  67.       end;
  68.       Inc(j);
  69.       Dec(i);
  70.     end;
  71.     Inc(count);
  72.   end;
  73.  
  74.   Writeln('popa ', sum);
  75.   ReadLn;
  76. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement