zadach150.PAS

{* Задача 150 *}

Unit ZADACH150;
Interface
Implementation
Begin
 writeln('На клеточном листе бумаги размером M/N расположены прямоугольники. Задан массив M/N в котором элемент a[i, j]=1 если клетка листа (i, j) яв-ся частью прямоугольника, и a[i, j]=0 если это пустая клетка. Напечатать число прямоугольников. ');
End.

Program zadach150;

Uses zadach150.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключение модулей *}
Var {* В работе нам потребуются переменные: *}
  i : longint;
  j : longint;
  m : longint;
  n : longint;
  k : longint;
  a : Array[1..100, 1..100] Of integer;
Begin
  clrscr; {* Очистка экрана *}
  write('m=');
  readln(m);
  write('n=');
  readln(n);
  For j := 1 To n Do {* Цикл для j => [1 .. n] *}
    For i := 1 To m Do {* Переменная i увеличивается с 1 до m *}
    Begin
      write('a[', i, ', ', j, ']=');
      readln(a[i, j]);
    End;
  For j := 1 To n Do {* Цикл для j => [1 .. n] *}
    For i := 1 To m Do {* Переменная i увеличивается с 1 до m *}
      If a[i, j] = 1 Then
        If (a[i + 1, j] = 0)And(a[i + 1, j + 1] = 0)And(a[i, j + 1] = 0) Then
          inc(k); {* k++ *}
  write('Ответ: ', k);
  readln; {* Ждем подтверждения пользователя *}
End.