// 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.
У меня получилось вот что (смотри скриншоты листинга программы и результата работы этой программы): uses Crt; const n = 10; var A: array [1..n] of integer; i: integer; begin ClrScr; Randomize; WriteLn ( ' Massiv I: '); for i:=1 to n do begin A[i] := 1+random(n); Write (A[i]:4); end; WriteLn; WriteLn ( ' Massiv II: '); for i:=1 to n do begin if (A[i] mod 2 =0) then A[i]:=0 else A[i]:=3*A[i]; Write (A[i]:4); end; ReadLn; 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
uses Crt;
const n = 10;
var A: array [1..n] of integer;
i: integer;
begin
ClrScr;
Randomize;
WriteLn ( ' Massiv I: ');
for i:=1 to n do
begin
A[i] := 1+random(n);
Write (A[i]:4);
end;
WriteLn; WriteLn ( ' Massiv II: ');
for i:=1 to n do
begin
if (A[i] mod 2 =0) then A[i]:=0 else A[i]:=3*A[i];
Write (A[i]:4);
end;
ReadLn;
end.