Pascal ABC В двумерном числовом массиве разномерности N*N посчитать количество единиц в...

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

Pascal ABC
В двумерном числовом массиве разномерности N*N посчитать количество единиц в квадрате со стороной длины K с правым нижним углом в строке R и столбце C

Пример ввода:
5 2 4 2
2 1 1 1 1
1 0 1 1 0
1 0 0 0 3
7 0 0 0 1
1 1 4 1 1

Пример вывода:
4


Информатика (4.8k баллов) | 31 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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))<br>            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.    

(3.9k баллов)