Найти сумму четных положительных элементов главной диагонали матрицы, результат умножить...

0 голосов
88 просмотров

Найти сумму четных положительных элементов главной диагонали
матрицы, результат умножить на произведение нечетных элементов
побочной диагонали Двумерные матрицы


Информатика (27 баллов) | 88 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1547 от 07.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк/столбцов в матрице:');
  Writeln('*** Исходная матрица ***');
  var a:=MatrRandom(n,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var (s,p):=(0,BigInteger(1));
  for var i:=0 to n-1 do
    if (a[i,i]>0) and (a[i,i].IsEven) then s+=a[i,i]
    else
      if a[i,n-1-i].IsOdd then p*=a[i,n-i-1];
  Writeln(s*p)
end.

Пример
Количество строк/столбцов в матрице: 13
*** Исходная матрица ***
   1 -62  88  54  98 -68 -10 -69  39 -69 -83  32 -31
 -55 -57  51 -44 -15  -5   6  83  42  -9 -27  11  22
  -4 -61  -4  -7  -9  50  20  67  94 -57  24 -51  -1
  21  40 -21 -87 -17  62  61  52 -19  23 -66  45  41
 -93 -84 -82  58  47  16 -57 -23  35 -49  35 -54  40
 -33 -87   1 -49  99 -73 -92  85  73  65   5  30 -92
  10  50  69 -85  16 -38  48  49  44   5  50 -64  -5
 -92 -94 -78  85 -11  43  66  43  -4  49 -49 -70  23
 -93  38  55 -67 -50  13 -71  39 -93  -8   8  21  35
 -26  -2  90  22   8  51 -84   5 -81 -98  64  88 -24
  62  63 -35 -86 -98  18  85  92 -45 -89  94  11 -45
 -63 -92  55 -98  14  14 -35  54 -30 -31  53  74 -59
  -1 -85 -81  87  36  91 -55  74  51 -34 -25  93  -9
----------------------------------------------------
216716207400
(150k баллов)