Даны три матрицы X,Y,Z. Распечатать ту из них в которой больше нулевых элементов — Pascal(Паскаль)

Program Lab_6;
uses crt;
type X=array[1..4,1..4] of integer; Y=array[1..4,1..4] of integer; Z=array[1..4,1..4] of integer; N=array[1..3] of integer;
var i,j,w,e,r,max:integer; a:X; b:Y; c:Z;d:N;f:boolean;
Begin clrscr;
Writeln('Vvedite matricy X');
for i:=1 to 4 do for j:=1 to 4 do begin
read(a[i,j]); end;
w:=0;
for i:=1 to 4 do for j:=1 to 4 do begin
if a[i,j]=0 then w:=w+1; end;
Writeln('Vvedite matricy Y');
for i:=1 to 4 do for j:=1 to 4 do begin
read(b[i,j]); end;
e:=0;
for i:=1 to 4 do for j:=1 to 4 do begin
if b[i,j]=0 then e:=e+1; end;
Writeln('Vvedite matricy Z');
for i:=1 to 4 do for j:=1 to 4 do begin
read(b[i,j]); end;
r:=0;
for i:=1 to 4 do for j:=1 to 4 do begin
if c[i,j]=0 then r:=r+1; end;
d[1]:=w;d[2]:=e;d[3]:=r; max:=d[1];
for i:=2 to 3 do
if d[i]>max then max:=d[i];
if max>0 then f:=true; if max=0 then f:=false;
If f=true then begin
if max=w then
for i:=1 to 4 do for j:=1 to 4 do begin
write(a[i,j]:4); end;
if max=e then
for i:=1 to 4 do for j:=1 to 4 do begin
write(b[i,j]:4); end;
if max=r then
for i:=1 to 4 do for j:=1 to 4 do begin
write(c[i,j]:4); end; end;
If f=false then write('Matric s nulevimi elementami net');
readkey;
End.

Следующий вариант

uses
 crt;
var
 i,j,w,e,r:integer;
 a,b,c:array[1..4,1..4] of integer;
Begin
clrscr;
w:=0;
Writeln('matrica A: ');
 for i:=1 to 4 do
 begin
  for j:=1 to 4 do
  begin
   a[i,j]:=random(10);
   write(a[i,j]:3);
    if a[i,j]=0 then w:=w+1;
  end;
 writeln;
 end;
Writeln('matrica B: ');
e:=0;
 for i:=1 to 4 do
 begin
  for j:=1 to 4 do
  begin
   b[i,j]:=random(10);
   write(b[i,j]:3);
    if b[i,j]=0 then e:=e+1;
  end;
 writeln;
 end;
Writeln('matrica C: ');
r:=0;
 for i:=1 to 4 do
 begin
  for j:=1 to 4 do
  begin
   c[i,j]:=random(10);
   write(c[i,j]:3);
    if c[i,j]=0 then r:=r+1;
  end;
 writeln;
 end;
writeln;
if (w>e) and (w>r) then
 begin
  Writeln('matrica A: ');
   for i:=1 to 4 do
   begin
    for j:=1 to 4 do
    begin
     write(a[i,j]:3);
    end;
   writeln;
   end;
 end
else
if (e>w) and (e>r) then
 begin
  Writeln('matrica B: ');
   for i:=1 to 4 do
   begin
    for j:=1 to 4 do
    begin
     write(b[i,j]:3);
    end;
   writeln;
   end;
 end
else
if (r>e) and (r>w) then
 begin
  Writeln('matrica C: ');
   for i:=1 to 4 do
   begin
    for j:=1 to 4 do
    begin
     write(c[i,j]:3);
    end;
   writeln;
   end;
 end
else
  if (w=0) and (e=0) and (r=0) then
   writeln('Ни в одной матрице нет нулевых элементов элементов!!!')
    else
     if (w=r) or (e=w) or (r=e) then
      writeln('Равное кол-во элементов в двух или во всех матрицах!!!');
readkey
End.

Leave a Comment

52 − 51 =