Const n=5;
var
i,j,pa,pb,pc,pd:integer;
a,b,c,d:array[1..n,1..n]of integer;
function prost(n:integer):integer;
begin
var i:integer;
result:=0;
for i:=2 to n div 2 do
if n mod i=0 then
begin
result:=1;
break;
end
end;
procedure otvet(p:integer; s:string);
begin
if p=0 then writeln('На диагоналях матрицы ',s,' есть простые числа')
else writeln('На диагоналях матрицы ',s,' нет простых чисел');
end;
begin
pa:=1;
pb:=1;
pc:=1;
pd:=1;
writeln('Массив А':18,'Массив B':18,'Массив C':18,'Массив D':18);
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(100,900);
b[i,j]:=random(100,900);
c[i,j]:=random(100,900);
d[i,j]:=random(100,900);
if (i=j) or (j=n+1-i) then
begin
pa:=pa*prost(a[i,j]);
pb:=pb*prost(b[i,j]);
pc:=pc*prost(c[i,j]);
pd:=pd*prost(d[i,j]);
end;
end;
end;
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]:4);
write('|');
for j:=1 to n do write(b[i,j]:4);
write('|');
for j:=1 to n do write(a[i,j]:4);
write('|');
for j:=1 to n do write(a[i,j]:4);
write('|');
writeln;
end;
otvet(pa,'A');
otvet(pb,'B');
otvet(pc,'C');
otvet(pd,'D');
end.