Advertisement
gguuppyy

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

Nov 11th, 2023
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.55 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, n - 1];
  47.   one := n - 1;
  48.   two := 0;
  49.   count := n - 1;
  50.  
  51.   for k := 1 to 2 * (n - 1) do
  52.   begin
  53.     if (k mod 2 <> 0) then
  54.     begin
  55.       one :=  - 1 + one;
  56.       count := n - 2;
  57.     end;
  58.     j := one;
  59.  
  60.     if (k mod 2 = 0) then
  61.     begin
  62.       two := 1 + two;
  63.       count := n - 1;
  64.     end;
  65.     i := two;
  66.  
  67.     while ((i >= 0) and (j >= 0)) do
  68.     begin
  69.       if (count = (i + j)) then
  70.       begin
  71.         sum := sum + myArray[i, j];
  72.         writeln(i, j);
  73.       end;
  74.       Dec(j);
  75.       Dec(i);
  76.       count := count - 2;
  77.     end;
  78.   end;
  79.  
  80.   Writeln('popa ', sum);
  81.   ReadLn;
  82. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement