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

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

Помогите пожалуйста, оченьПомогите пожалуйста, очень надо.
заданны 4 квадратные матрицы A(n,n),b(n,n),c(n,n),d(n,n) в которых хранятся целые числа. Найти матрицы, в которых на диагоналях есть простые числа.


Информатика (160 баллов) | 47 просмотров
0

решать с процедурами?

0

да

Дан 1 ответ
0 голосов
Правильный ответ

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.