Форум: "Прочее";
Текущий архив: 2010.01.10;
Скачать: [xml.tar.bz2];
ВнизКоличество треугольников в массиве Найти похожие ветки
← →
trxnet © (2009-11-06 19:14) [0]Привет всем. Задали задачу решить, но немогу решить. Вобщем, есть 2мерный массив:
10х10
const x: Array [0..9, 0..9] of Integer
=((0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(0, 0, 0, 1, 1, 1, 0, 0, 0, 0),
(0, 0, 0, 1, 1, 1, 0, 0, 0, 0),
(0, 0, 0, 0, 0, 0, 0, 1, 0, 0),
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(0, 1, 0, 0, 0, 0, 1, 1, 0, 0),
(0, 1, 0, 0, 0, 0, 1, 1, 0, 0),
(0, 1, 0, 0, 0, 0, 1, 1, 0, 0),
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
Нужно посчитать в нем кол-во прямоугольников (жирным веделены), прямоугольник состоящий из 1 не считается. Как это можно реализовать? Спасибо.
← →
@!!ex © (2009-11-06 19:29) [1]набор 8х8 точек - это сколько прямоугольников?
Если один, то элементарно делается.
← →
Сергей М. © (2009-11-06 19:34) [2]
> Количество треугольников
>кол-во прямоугольников
Страшно подумать что будет дальше - то три, то прямо, то косо ..
← →
trxnet © (2009-11-06 19:40) [3]Извеняюсь, прямоугольников
← →
Сергей М. © (2009-11-06 19:44) [4]Ну вот сколько ты их видишь в этом массиве ?)
← →
trxnet © (2009-11-06 19:46) [5]3 получается, яж выделил))
← →
Сергей М. © (2009-11-06 19:57) [6]Это почему же 3 ?
И что значит "состоящий из 1 не считается" ?
← →
trxnet © (2009-11-06 20:07) [7]ну который состоит из 1, вон в пятой строке стоит 1, она не должна считаться за прямоугольник.
← →
Сергей М. © (2009-11-06 20:13) [8]Тогда чем
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(0, 0, 0, 1, 1, 1, 0, 0, 0, 0),
(0, 0, 0, 1, 1, 1, 0, 0, 0, 0),
(0, 0, 0, 0, 0, 0, 0, 1, 0, 0),
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(0, 1, 0, 0, 0, 0, 1, 1, 0, 0),
(0, 1, 0, 0, 0, 0, 1, 1, 0, 0),
(0, 1, 0, 0, 0, 0, 1, 1, 0, 0),
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
не прямоугольник ?
← →
RWolf © (2009-11-06 20:16) [9]Если в лоб — перебрать все 100 клеток в цикле двойной вложенности на предмет истинности предположени\ «клетка P1 — это левый верхний угол прямоугольника, а клетка P2 — правый нижний, причём точки не совпадают».
Критерий прямоугольности:
1) число в любой клетке, координаты которой лежат между координатами 1 и 2, равно единице;
2) числа в клетках-соседях прямоугольника равны нулю.
← →
Дмитрий Белькевич (2009-11-06 20:17) [10]Как представлю себе процесс извенения... Бррррр...
← →
Омлет © (2009-11-06 21:23) [11]Идем в цикле, находим 1, делаем рекурсивный floodFill, смотрим, получился ли прямоугольник и заменяем заливку на 0.
← →
SergP © (2009-11-06 21:39) [12]Что-то я не понял что здесь является прямоугольником, а что нет...
Каковы критерии ?
← →
Омлет © (2009-11-06 21:49) [13]Да, если еще можно учитывать незалитые прямоугольники, то всё немного усложняется.
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(0, 1, 1, 1, 1, 1, 0, 1, 1, 1),
(0, 1, 0, 1, 1, 1, 0, 1, 0, 1),
(0, 1, 0, 1, 1, 1, 0, 1, 1, 1),
(0, 1, 0, 0, 0, 1, 0, 0, 0, 0),
(0, 1, 1, 1, 1, 1, 0, 0, 0, 0),
(0, 0, 0, 0, 0, 0, 1, 1, 0, 0),
(0, 1, 0, 0, 0, 1, 1, 1, 1, 0),
(0, 1, 0, 0, 0, 1, 1, 1, 1, 0),
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Тут сколько?
← →
Омлет © (2009-11-06 21:50) [14]> [13] Омлет © (06.11.09 21:49)
две единички забыл выделить. Но они тоже есть :)
← →
trxnet © (2009-11-06 22:06) [15]Не залитых не должно быть.
Прямоугольником считатется, если подрят идут 2 и более по горизонтали и вертикали.
← →
Сергей М. © (2009-11-06 22:34) [16]
> trxnet © (06.11.09 22:06) [15]
Это тот самый 3-й прямоугольник, который у тебя "получается":
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(0, 0, 0, 1, 1, 1, 0, 0, 0, 0),
(0, 0, 0, 1, 1, 1, 0, 0, 0, 0),
(0, 0, 0, 0, 0, 0, 0, 1, 0, 0),
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(0, 1, 0, 0, 0, 0, 1, 1, 0, 0),
(0, 1, 0, 0, 0, 0, 1, 1, 0, 0),
(0, 1, 0, 0, 0, 0, 1, 1, 0, 0),
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
И где здесь "2 и более по горизонтали" ?
Ты и вправду дибил или прикидываешься ?)
← →
TUser © (2009-11-06 22:55) [17]в этом массиве три прямоугольника, ты сам сказал
← →
Игорь Шевченко © (2009-11-06 23:24) [18]lines пишем...
← →
trxnet © (2009-11-06 23:30) [19]Прямоугольником считатется, если подрят идут 2 и более едениц по горизонтали или вертикали. Но если есть такая запись:
11
11
11
или такая: 1111
1111
то считаем как прямоугольник.
← →
TUser © (2009-11-06 23:37) [20]
11
11
1111
1111
тут сколько?
← →
trxnet © (2009-11-06 23:41) [21]
> TUser © (06.11.09 23:37) [20]
Сам незнаю)) Для такого размещения едениц условия нету)) Короче, похоже мне нужно узнать конкретные условия.
← →
RWolf © (2009-11-06 23:44) [22]Ещё неплохо бы уточнить, сколько прямоугольников вот тут:
0000000
0001100
0001100
0110000
0110000
0000000
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2010.01.10;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.006 c