|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.12.2010, 19:54 | #1 |
Пользователь
Регистрация: 20.11.2010
Сообщений: 17
|
МИННОЕ ПОЛЕ В Delphi
Начало зимы - время курсовых...
Подскажите пожалуйста решение такой задачи: На квадратном клетчатом листе бумаги размером 100х100 клеток нарисована схема минных полей в виде прямоугольников. Каждый прямоугольник состоит из целых клеток, различные прямоугольники не накладываются друг на друга и не соприкасаются. Напр: 111000111110000 111000111110000 000000111110000 000000000000000 001000011100011 000000011100011 000000011100000 Задан массив размером 100х100, в котором элемент a[i,j]=1, если клетка [i,j] принадлежит какому-либо минному полю (заминирована) и a[i,j]=0 в противном случае. Написать программу, которая сосчитает и напечатает число прямоугольников. Программа в Delphi Я начала ее решать и дошла только до отображения массива из файла. Помогите написать код для счета этих прямоугольников Код:
_____ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Просто написать слово КОД: - недостаточно... Модератор. Последний раз редактировалось Serge_Bliznykov; 03.12.2010 в 20:24. Причина: добавил тег CODE |
03.12.2010, 20:28 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
сразу вопрос. если массив 100 на 100 - то почему n=99 ?
а по сути вопроса надо подумать. Выделить прямоугольники - несложно. Надо придумать, как отмечать те ячейки, которые уже посчитаны. Я бы предложил добавить ещё один массив. Скопировать туда исходный и, в процессе подсчёта, убирать посчитанные клеточки (заносить туда нолик) и ещё вопрос. Ошибки можно не анализировать? Пересечения, накладки, "дырки" внутри прямоугольников - можно считать что такого нет и БЫТЬ НЕ МОЖЕТ? просто, чтобы не усложнять код подсчёта... |
03.12.2010, 20:46 | #3 |
Пользователь
Регистрация: 20.11.2010
Сообщений: 17
|
=>Пересечения, накладки, "дырки" внутри прямоугольников - можно считать что такого нет и БЫТЬ НЕ МОЖЕТ?
-Да, такого нет и не будет! А с заданием константы, в файле просто видимо одну колонку не дописала, поэтому получилось 99 |
03.12.2010, 21:30 | #4 |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
так устроит? сделал для 10 на 10! 100 на 100 впадлу заполнять!
ну и в консоли ! с формами не интересно!
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
03.12.2010, 21:49 | #5 |
Пользователь
Регистрация: 20.11.2010
Сообщений: 17
|
Ну, мне вообще то надо это в DELPHI, а не в консоли...
|
03.12.2010, 22:12 | #6 | |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
Цитата:
и я себе плохо представляю матрицу 100 на 100 выведенную в Stringgrid) вот для 10 на 10)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
|
03.12.2010, 22:48 | #7 |
Пользователь
Регистрация: 20.11.2010
Сообщений: 17
|
Я хочу спросить как делать подсчет этих прямоугольников, а не саму программу в .exe
|
03.12.2010, 22:57 | #8 | |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
Цитата:
2)нашли идем вниз по этому столбцу пока не 0( то есть прибавляем к индексу строки 1) 3)нашли идем вправо пока 1 ( то есть прибавляем к индексу столбца 1) и у нас 4 угла прямоугольника 4)зануляем его (прямоугольник) и увеличиваем счетчик на 1 повторяем 1-4 пока есть в матрице хоть одна 1
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" Последний раз редактировалось Mad_Cat; 03.12.2010 в 23:11. |
|
03.12.2010, 23:04 | #9 |
Пользователь
Регистрация: 20.11.2010
Сообщений: 17
|
ага, это я понимаю, а вот как "идти" вправо и вниз(т.е. конкретные команды на ЯВУ) нет
|
03.12.2010, 23:16 | #10 | |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
Цитата:
Код:
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод файлов в поле МЕМО на Delphi | ChEaTeR-abc | Помощь студентам | 17 | 01.07.2010 14:59 |
После ввода в поле по Enter нужно перейти на другое поле! | •ScReam•™ | Помощь студентам | 2 | 16.06.2009 08:47 |
access+delphi поиск по словам в поле memo | gvozdkoff | БД в Delphi | 2 | 25.02.2009 07:13 |
Консоль+поле ввода в форме в Delphi | KatT | Помощь студентам | 0 | 01.06.2008 16:08 |
Delphi 7 вычисляемое поле | Riddick | Помощь студентам | 3 | 27.12.2007 06:55 |