Прямоугольное рисование
В двумерном массиве пометить все клетки, принадлежащие закрашенным строкам, т.е. заполнить массив (1-закрашено, 0-незакрашено). Подсчитать количество клеток, не помеченных как закрашенные, т. е. равных 0.
rogram risovaniye;
var n,m,r,c,i,j,z:integer;
a:array[1..50,1..50] of integer;{тетрадный лист}
b:array[1..50] of integer;{Номера закрашенных строк}
k:array[1..50] of integer;{Номера закрашенных столбцов}
begin
readln(n,m,r,c);
for i:=1 to r do
read(b[i]);
for i:=1 to c do
read(k[i]);
{закраска строчек}
for i:=1 to r do
for j:=1 to m do
a[b[i],j]:=1;
{закраска столбцов}
for i:=1 to n do
for j:=1 to c do
a[i,k[j]]:=1;
{вывод закрашенного массива}
for i:=1 to n do begin
for j:=1 to m do write(a[i,j]:3);writeln;
end;
{подсчет нулевых (незакрашенных) элементов массива}
z:=0;
for i:=1 to n do
for j:=1 to m do
if a[i,j]=0 then z:=z+1;
writeln(z);{вывод количества незакрашенных элементов массива}
end.
В двумерном массиве пометить все клетки, принадлежащие закрашенным строкам, т.е. заполнить массив (1-закрашено, 0-незакрашено). Подсчитать количество клеток, не помеченных как закрашенные, т. е. равных 0.
rogram risovaniye;
var n,m,r,c,i,j,z:integer;
a:array[1..50,1..50] of integer;{тетрадный лист}
b:array[1..50] of integer;{Номера закрашенных строк}
k:array[1..50] of integer;{Номера закрашенных столбцов}
begin
readln(n,m,r,c);
for i:=1 to r do
read(b[i]);
for i:=1 to c do
read(k[i]);
{закраска строчек}
for i:=1 to r do
for j:=1 to m do
a[b[i],j]:=1;
{закраска столбцов}
for i:=1 to n do
for j:=1 to c do
a[i,k[j]]:=1;
{вывод закрашенного массива}
for i:=1 to n do begin
for j:=1 to m do write(a[i,j]:3);writeln;
end;
{подсчет нулевых (незакрашенных) элементов массива}
z:=0;
for i:=1 to n do
for j:=1 to m do
if a[i,j]=0 then z:=z+1;
writeln(z);{вывод количества незакрашенных элементов массива}
end.
Комментариев нет:
Отправить комментарий