// PascalABC.NET 3.1, сборка 1230 от 27.04.2016 begin var n:=ReadInteger('n='); var a:=MatrixRandom(n,n,10,99); var s:=0; var k:=0; for var i:=0 to n-1 do begin for var j:=0 to n-1 do Print(a[i,j]); Writeln; if a[i,i].IsEven then begin s+=a[i,i]; Inc(k) end; end; if k>0 then Writeln('S=',s/k:0:2) else Writeln('На главной диагонали нет четных элементов') end.
begin
var n:=ReadInteger('n=');
var a:=MatrixRandom(n,n,10,99);
var s:=0;
var k:=0;
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do Print(a[i,j]);
Writeln;
if a[i,i].IsEven then begin s+=a[i,i]; Inc(k) end;
end;
if k>0 then Writeln('S=',s/k:0:2)
else Writeln('На главной диагонали нет четных элементов')
end.
Тестовое решение
n= 8
63 13 33 90 25 21 87 91
88 88 48 13 30 59 81 27
73 23 76 77 52 19 33 97
53 87 13 74 17 35 61 70
77 96 51 61 82 33 63 22
39 88 84 54 88 73 74 69
76 26 69 14 45 80 70 54
80 36 47 38 18 22 84 62
S=75.33
c = 15 c = 2.00 c = 25 c = 9
c = 3 c = 1 c = 100 100
'qm' c = '' c = school2 error
Объяснение:
+ сложение(если строку str складывают с другой они просто скрепляются
// деление с выделением целой части
/ обычное деление чисел (происходит в формате float) даже если ответ целое число мы показывает десятые и сотые числа
% деление с выделением остатка
* умножение (если строка str умножается на целое число, то эта строка пишется несколько раз БЕЗ ПРОБЕЛА
** возведение в степень
max функция которая ищет максимум
строку на строку перемножать нельзя программа ложиться и выдаёт ошибку