Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2012, 20:42   #1
alekcey0211
Новичок
Джуниор
 
Регистрация: 27.11.2012
Сообщений: 2
По умолчанию Двумерный массив. Определить количество прямоугольников образованных числом 1.

Это была олимпиадная работа, точного условия не помню, но очень интересно ее решение...дан двумерный массив, рандомно заполненный 1 и 0. И надо найти количество образовавшихся прямоугольников из 1. Если прямоугольник всего один, то вывести его площадь. Одиноко стоящую 1 считать прямоугольником. Прямоугольник должен быть полностью заполнен 1.
alekcey0211 вне форума Ответить с цитированием
Старый 28.11.2012, 00:45   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

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

а вот тему двухлетней давности отыскал.
Посмотрите, может её Вам окажется достаточно...


Цитата:
Дан двухмерный массив, заполненный нулями и единицами. Найти прямоугольник наибольшей площади, заполненный единицами.
смотрите такую тему: МИННОЕ ПОЛЕ В Delphi

Цитата:
На квадратном клетчатом листе бумаги размером 100х100 клеток нарисована схема минных полей в виде прямоугольников.
Каждый прямоугольник состоит из целых клеток, различные прямоугольники не накладываются друг на друга и не соприкасаются. Напр:
111000111110000
111000111110000
000000111110000
000000000000000
001000011100011
000000011100011
000000011100000
Задан массив размером 100х100, в котором элемент a[i,j]=1, если клетка [i,j] принадлежит какому-либо минному полю (заминирована) и a[i,j]=0 в противном случае.
Написать программу, которая сосчитает и напечатает число прямоугольников.
Программа в Delphi
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.11.2012, 17:03   #3
alekcey0211
Новичок
Джуниор
 
Регистрация: 27.11.2012
Сообщений: 2
По умолчанию

Спасибо за ответ в теме, но все же, то, о чем говорится в теме про минное поле, все довольно-таки просто, до этого я додумался в первые минуты как взял эту работу. У меня дело в том, что массив заполняется рандомно, то есть случайным образом, и может получится так, что внутри прямоугольника 4*4 например, может оказаться один 0, и тогда его уже нужно считать как-то по-другому. Мучался писал всякие разные программы, но сам же потом вводил в массив такие прямоугольники, которые программа не видела и считать как за 1 большой прямоугольник. Подожду еще ответов, может будут светлые идеи.
alekcey0211 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан двумерный массив [4..7]. Hайти количество и сумму квадpатов положительных элементов массива, имеющих четные номера в строках Oraner Паскаль, Turbo Pascal, PascalABC.NET 3 04.11.2012 21:22
Дан двумерный массив В(3,3). Найти количество отрицательных элементов, расположенных ниже главной диагонали tw1ster Помощь студентам 0 28.05.2012 12:24
Дан двумерный массив. Найти сумму и количество элементов в каждом столбце, положительных и лежащих вне главной диагонали Alexbmgn Помощь студентам 1 25.12.2011 22:21
Задача на работу с двумерным массивом.Найти количество прямоугольников. anta Общие вопросы C/C++ 6 05.01.2009 15:23
Дан массив из N элементов (чисел),определить количество элементов кратных 3. Woha Общие вопросы C/C++ 2 08.12.2008 13:12