0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 24
|
|
1 | |
Посчитать, сколько закрашенно прямоугольников на поле19.08.2009, 14:17. Показов 4225. Ответов 30
Метки нет (Все метки)
Есть клетчатое прямоугольное поле с размерами m на n, на этом поле по линиям сетки закрашено несколько прямоугольников все одним цветом, задача посчитать сколько закрашенно прямоугольников на поле, пользователь вводит значения m и n, и построчно состояние клеток поля
пример: 5 6 00000 00110 00110 00000 01110 01110 Программа должна определить сколько прямоугольников закрашено и почитать их кол-во В этом примере 2 прямоугольника закрашены
0
|
19.08.2009, 14:17 | |
Ответы с готовыми решениями:
30
OpenCV: определить сколько на фото кругов и сколько прямоугольников Посчитать наименьшую площадь нескольких прямоугольников Посчитать количество прямоугольников, заданных черным цветом Метод прямоугольников - посчитать интеграл по левой, правой и средней точке |
1 / 1 / 0
Регистрация: 31.07.2009
Сообщений: 40
|
|
19.08.2009, 15:02 | 2 |
00000
00110 00110 00000 01110 01110 мне кажется задача некоректно поставленна Любая клетка может быть прямоугольником ? Сколько клеток должно быть закрашено для полного прямоугольника? Учитывается ли то что в прямоугольнике есть полость (пустота, нули итд)? Определитесь с этим определитесь и с алгоритмом
0
|
0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 24
|
|
20.08.2009, 16:24 [ТС] | 3 |
1 это закрашенная клетка, 0 не закрашенная, как введешь так и будет
Добавлено через 5 часов 21 минуту 11 секунд ну помогите пожалуйсто
0
|
81 / 80 / 4
Регистрация: 06.04.2009
Сообщений: 326
|
|
20.08.2009, 17:26 | 4 |
1
|
1 / 1 / 0
Регистрация: 31.07.2009
Сообщений: 40
|
|
21.08.2009, 07:50 | 5 |
проверяем mass[i][j] если 1 то проверяем mass [i+1][j] если нет выходим из подцикла если да то проверяем [i-1][j] если есть 1 то проверяем [i][j+1] если да то проверяем [i][j-1] что то вроде этого.
0
|
81 / 80 / 4
Регистрация: 06.04.2009
Сообщений: 326
|
|
21.08.2009, 10:00 | 6 |
Это в том случае, если не разрешено в прямоугольнике 0... Вот жду ответа. А человек что-то молчит.
1
|
1 / 1 / 0
Регистрация: 31.07.2009
Сообщений: 40
|
|
21.08.2009, 10:13 | 7 |
01110
01010 01110 00000 10000 00110 пойдем по другому пути сколько сдесь прямоугольников ?
0
|
81 / 80 / 4
Регистрация: 06.04.2009
Сообщений: 326
|
|
21.08.2009, 10:30 | 8 |
теоретически, если расщитывать на 0 в прямоугольнике - то 1
Добавлено через 10 минут 23 секунды Опять же таки с такого примера возникает вопрос могут ли быть единицы сами по себе, не образующие прямоугольник?
1
|
1 / 1 / 0
Регистрация: 31.07.2009
Сообщений: 40
|
||||||
21.08.2009, 11:03 | 9 | |||||
У меня была похожая задача только мне нужно было найти в матрице число которое окружено сверху справа слева снизу большими значениями.
Может поможет выложу код Извращение но работает )
0
|
0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 24
|
|
21.08.2009, 11:42 [ТС] | 10 |
нет единицы могут например вот так 00111011
а нули не могут быть как в тех примерах
0
|
81 / 80 / 4
Регистрация: 06.04.2009
Сообщений: 326
|
|||||||||||
21.08.2009, 11:57 | 11 | ||||||||||
Вообщем тут набросано пример, где находятся 4 угла прямоугольников (т.е. внутри них может быть что угодно)
1
|
0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 24
|
|
21.08.2009, 12:06 [ТС] | 12 |
Как я и писал надо задать значение длины прямоугольника и ширины , а потом построчно состояния клеток, т.е если ввести 10, 8
и строки например 0000000000 0110111100 0110111100 0000000000 0000000000 0000000000 0011111110 0011111110 то здесь 3 прямоугольника
0
|
81 / 80 / 4
Регистрация: 06.04.2009
Сообщений: 326
|
|
21.08.2009, 12:12 | 13 |
ну так введи вместо 5 - переменную, кот. будет передавать кол-во столбцов, а вместо 6 - перменную, отвечающую за кол-во строк. Что не понятно?
1
|
0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 24
|
|
21.08.2009, 12:20 [ТС] | 14 |
не понятно то что прийдется переписывать пол кода , потому что он у тебя написано только на 5, 6 , а числа над вводить в консоле
Добавлено через 2 минуты 58 секунд а если числа буду 4 х 5 значный мне что прийдется каждую строку дописывать?? mas[1, 2] = 1; mas[1, 3] = 1; mas[2, 2] = 1; mas[2, 3] = 1; mas[4, 1] = mas[4, 2] = mas[4, 3] = 1; mas[5, 1] = mas[5, 2] = mas[5, 3] = 1;
0
|
81 / 80 / 4
Регистрация: 06.04.2009
Сообщений: 326
|
||||||
21.08.2009, 12:35 | 15 | |||||
Во-первых!!! Надо говорить, в чём ты собираешься делать. Если консоль - то это пишут в начале!!!
А во-вторых! Было написано алгоритм, а теперь, увидев пример, своей головой можно додумать как написать. Или за тебя писать полностью алгоритм? Тогда ты не туда зашёл! Здесь помогает, а не пишут за других! Добавлено через 7 минут 25 секунд Давай сначала. ты при вводе в консоле записываешь все данные в массив? Добавлено через 4 минуты 56 секунд Даже не так. ты вводишь вначале кол-во столбцов, потом кол-во строк. Пусть кол-во строк - это переменная amount_rows, кол-во столбцов - это переменная amount_columns. Тогда код такой:
1
|
0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 24
|
|
21.08.2009, 12:48 [ТС] | 16 |
Даже не так. ты вводишь вначале кол-во столбцов, потом кол-во строк.
Пусть кол-во строк - это переменная amount_rows, кол-во столбцов - это переменная amount_columns. потом я ввожу в зависимости от числа столбцов и строк состояние клеток поля т.е вот это 00110
0
|
81 / 80 / 4
Регистрация: 06.04.2009
Сообщений: 326
|
||||||
21.08.2009, 17:11 | 17 | |||||
я не могу понять: ты не знаешь как считать в консоле эти строки и закинуть в массив? ты спрашиваешь как это сделать?
Добавлено через 2 часа 30 минут 40 секунд
а вообще есть хотя бы ссылка в мсдн-е, начинай от туда: мсдн Не по теме: Помогло - скажи спасибо! :good: Добавлено через 1 час 35 минут 49 секунд Можно понять что получилось?
1
|
0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 24
|
|
21.08.2009, 19:31 [ТС] | 18 |
я тебе и так на каждом посте спасибки тыкнул
0
|
0 / 0 / 0
Регистрация: 30.07.2009
Сообщений: 24
|
||||||
02.09.2009, 14:44 [ТС] | 19 | |||||
кто нить может исправить этот код что бы считало через 1 угол а не через 4 и при таком вводе 0001 он тоже считал за прямоугольник, а то в этом коде только если в конце есть 0 считает
0
|
81 / 80 / 4
Регистрация: 06.04.2009
Сообщений: 326
|
||||||
04.09.2009, 15:33 | 20 | |||||
Добавлено через 16 минут
здесь срабатывает подсчёт такого плана. Например: 0100 0001 0100 0100 будет считать как 3 прямоугольника.
1
|
04.09.2009, 15:33 | |
04.09.2009, 15:33 | |
Помогаю со студенческими работами здесь
20
Посчитать сумму площадей двух прямоугольников, стороны которых заданы Посчитать,сколько элементов массива равны 5 или сколько 5 в массиве Сколько прямоугольников в матрице Сколько всего прямоугольников? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |