Определить, сколько прямоугольников нарисовано на листе - Pascal

Узнай цену своей работы

Формулировка задачи:

Почему выдаёт ошибку: Main() в G:\прз\lab6(3).pas:строка 11 в lab6(3).Program.Main()[END]
program lab6_3;
var a : array[1..100, 1..100] of byte;
   i, j, k, n ,m : integer;
   f , g: text;
begin
     assign( f, 'G:\прз\Input.txt' );
     reset(f);
     readln(f, n); readln(f,m);
     for i := 1 to n do
         for j := 1 to m do
         read( f,a[i,j] );
 
     for i := 1 to n do
         for j := 1 to m do
     if   (( a[i, j]=1 ) and ( i=1 )and( j=1 )) or
          (( a[i, j]=1 ) and ( i=1 ) and ( j>1 ) and ( a[i, j-1]=0 )) or
          (( a[i, j]=1 ) and ( j=1 ) and ( i>1 ) and ( a[i-1, j]=0 )) or
          (( a[i, j]=1 ) and ( i>1 ) and ( j>1 ) and ( a[i-1, j]=0 ) and
           ( a[i, j-1]=0 ))
     then
          k := k+1;
 
          writeln( k );
          assign (g, 'G:\прз\Output.txt'); rewrite (g);
          write (g, k); close (g);
          close( f );
 
end.

Задача:

На клетчатом листе бумаги размером N × M (2 ≤ N и M ≤ 200) клеток нарисовано несколько прямоугольников. Каждый прямоугольник состоит из целых клеток, различные прямоугольники не накладываются друг на друга и не соприкасаются. Лист представляет собой матрицу N × M, элемент матрицы равен 1, если клетка принадлежит прямоугольнику и 0 - если не принадлежит. Определить, сколько прямоугольников нарисовано на листке. Входные и выходные данные оформите в текстовых файлах. Формат входных и выходных данных должен соответствовать образцу (см. пример).

Формат входных данных

Во входном файле

Input.txt

записаны числа N и M (N≥2 и M≤200), затем перечислены элементы матрицы (элементы строк разделены пробелом).

Формат выходных данных

В выходном файле

Output.txt

выведите одно число - количество прямоугольников.

Пример

Input.txt

Output.txt

4
7
0 0 0 1 1 1 0
1 0 0 1 1 1 0
0 0 0 0 0 0 0
1 1 0 0 0 0 0
3

Решение задачи: «Определить, сколько прямоугольников нарисовано на листе»

textual
Листинг программы
read(f,n,m);

Объяснение кода листинга программы

  1. Функция read() считывает значения двух аргументов из файла f.
  2. Значение n сохраняется в переменной.
  3. Значение m сохраняется в переменной.
  4. Вычисляется сумма значений переменных n и m.
  5. Выводится значение суммы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы