Pascal ABC В двумерном числовом массиве разномерности N*N посчитать количество единиц в квадрате со стороной длины K с правым нижним углом в строке R и столбце C
140201
Program aaa; var A: array[1..100,1..100] of integer; n,k,r,c,x: integer; i,j: byte; begin randomize; writeln ('Введите N, K, R, C'); readln (n,k,c,r); x:=0; for i:=1 to n do begin for j:=1 to n do begin writeln ('Введите ',j,'-е число ',i,'-ой строки'); readln (A[i,j]); //или можно ввести рандомно: A[i,j]:=random(0,1); if ((i>(r-k)) and (i<=r) and (j>(c-k)) and (j<=c) and (A[i,j]=1)) then x:=x+1 end end; writeln; // в следующем цикле выводится весь массив для наглядности // его можно просто убрать если не нужен for i:=1 to n do begin for j:=1 to n do begin write (A[i,j]:3); end; writeln end; writeln; writeln (x) end.
Answers & Comments
var A: array[1..100,1..100] of integer; n,k,r,c,x: integer; i,j: byte;
begin
randomize;
writeln ('Введите N, K, R, C');
readln (n,k,c,r);
x:=0;
for i:=1 to n do begin
for j:=1 to n do begin
writeln ('Введите ',j,'-е число ',i,'-ой строки');
readln (A[i,j]);
//или можно ввести рандомно: A[i,j]:=random(0,1);
if ((i>(r-k)) and (i<=r) and (j>(c-k)) and (j<=c) and (A[i,j]=1))
then x:=x+1
end
end;
writeln;
// в следующем цикле выводится весь массив для наглядности
// его можно просто убрать если не нужен
for i:=1 to n do begin
for j:=1 to n do begin
write (A[i,j]:3);
end;
writeln
end;
writeln;
writeln (x)
end.