program nullelem;
uses crt;
var
n,m: integer;
a:array [1..20,1..20] of real;
b:array [1..20, 1..20] of real;
st:string;
cycl1,cycl2:integer;
kolnullelementa,kolnullelementb:integer;
label
lab1,lab2,lab3,lab4,lab5,lab6,lab7,lab8;
procedure nullelement;
begin
kolnullelementa:=0;
kolnullelementb:=0;
for cycl1:=1 to m do begin
for cycl2:=1 to n do begin
if a[cycl1,cycl2]=0 then kolnullelementa:=kolnullelementa+1;
end;
end;
for cycl1:=1 to n do begin
for cycl2:=1 to m do begin
if b[cycl1,cycl2]=0 then kolnullelementb:=kolnullelementb+1;
end;
end;
writeln ('________________________________________________________________________________');
writeln ('Матрица A содержит ',kolnullelementa:2,' нулевых элементов.');
writeln ('Матрица B содержит ',kolnullelementb:2,' нулевых элементов.');
end;
begin
clrscr;
writeln ('Задание A, вариант №13:');
writeln ('Подсчитать количество элементов для матриц A (N,M) и B(M,N); M<=20, N<=20');
writeln ('________________________________________________________________________________');
writeln ('Введите размер матриц A(N,M) и B(M,N), но не более 20X20 элементов:');
goto lab2;
lab1: clrscr;
writeln ('Число элементов матриц не больше 20-ти по условию. Повторите ввод.');
lab2: write ('M=? ');
readln (m);
if m>20 then goto lab1;
if m<2 then writeln ('Минимальное значение M и N = 2. M=2');
if m<2 then m:=2;
goto lab4;
lab3: clrscr;
writeln ('Число элементов матриц не больше 20-ти по условию. Повторите ввод.');
lab4: write ('N=? ');
readln (n);
if n>20 then goto lab3;
if n<2 then writeln ('Минимальное значение M и N = 2. N=2');
if n<2 then n:=2;
lab5: write ('Введёте элементы матрицы, или сгенерировать их самостоятельно (E/G)? ');
readln (st);
if st<>'E' then if st<>'e' then if st<>'G' then if st<>'g' then goto lab5;
if st='E' then goto lab6;
if st='e' then goto lab6;
if st='G' then goto lab7;
if st='g' then goto lab7;
lab6: clrscr;
writeln ('Вводим значения элементов матрицы A(',n,', ',m,'):');
for cycl1:=1 to m do begin
for cycl2:=1 to n do begin
write ('A(',cycl1,', ',cycl2,')=? ');
readln (a[cycl1,cycl2]);
end;
end;
writeln ('Вводим значения элементов матрицы B(',m,', ',n,'):');
for cycl1:=1 to n do begin
for cycl2:=1 to m do begin
write ('B(',cycl1,', ',cycl2,')=? ');
readln (b[cycl1,cycl2]);
end;
end;
clrscr;
writeln ('Ввод данных закончен.');
goto lab8;
lab7: clrscr;
for cycl1:=1 to m do begin
for cycl2:=1 to n do begin
(a[cycl1,cycl2]):=int(random(20));
end;
end;
for cycl1:=1 to n do begin
for cycl2:=1 to m do begin
(b[cycl1,cycl2]):=int(random(20));
end;
end;
clrscr;
writeln ('Числа сгенерированны и занесены в матрицы.');
lab8: nullelement;
gotoxy(1,10);
write ('Нажмите ввод для выхода в ОС ');
readln (st);
clrscr;
end.
