![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 3 Всего: 17 |
Вообщем попросили сделать задачу на delphi:
Дана строка, состоящая из групп нулей и единиц. Найти и вывести на экран самую короткую группу. Туплю я чёто здесь Код свой не показываю, стыдно очень за такое Это сообщение отредактировал(а) RooR - 17.6.2006, 21:30 -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Я правильно понял: строка 0000011110000001100000111111110000 самая короткая группа 4(номер группы) - 11(сама группа) так? Это сообщение отредактировал(а) Sunvas - 18.6.2006, 01:56 -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 3 Всего: 17 |
нет не совсем воод такой
допустим 111111 00000 11111 0000000 1111111 00000 000000 11111 11111 так вот примерно найти минимальную группу и вывести куданить Добавлено @ 01:59 пробелами группы разделены это упрощает её ещё больше но тчо-то не выходит -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| Golden Hands |
|
|||
![]() Золотой ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2023 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: нет Всего: 83 |
На вскидку:
Создаешь два массива размерности строки. Делаешь цикл прохода по строке, в котором сравниваешь текущий и предыдущий символ. Если значения равны, то увеличиваешь счетчик. Если различаются - обнуляешь счетчик (предварительно скинув в массивы значения счетчика и предыдущего символа (от элемента=номеру текущего символа-1)) и считаешь длину уже новой группы. И т.д. В массиве, где хранятся значения счетчика, находишь минимальный элемент и запоминаешь его номер (n) и значение (z). Берешь символ с позиции n в строке, и дублируешь его z раз. Все. Напиши сперва это, а потом оптимизируем. -------------------- Мы обречены... но только на победу! Настанет день, и мы построим новый дом. Внесем в него тепло, что сохранить сумели, И воскресим все то, что в нас когда-то умерло... © Тень Света |
|||
|
||||
| CHIKIST |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 18.6.2006 Репутация: нет Всего: нет |
записываешь строку в переменую a:string
|
|||
|
||||
| Sunr1se |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 1.5.2006 Репутация: 6 Всего: 13 |
Я тут накатал функцию, с помощью которой можно решить задачу...
В фунцию передаешь всю строку, а возвращает она самую маленькую группу.
Это сообщение отредактировал(а) Sunr1se - 18.6.2006, 13:23 --------------------
IRC-канал Винграда |
|||
|
||||
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 3 Всего: 17 |
Чикист твой код не совсем верен, он находит строку, но к сожалению у твоего кода всегда минимальной является первая группа
-------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 3 Всего: 17 |
Вообщем процедура тоже не пашет так как надо
1111 0000 1111 0000000 11 000 1 ответом должна быть еденица -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
-------------------- Ll 2 |
|||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
-------------------- |
|||
|
||||
| Sunr1se |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 1.5.2006 Репутация: 6 Всего: 13 |
RooR, не знаю, я свой код тестил. Работал как часы
--------------------
IRC-канал Винграда |
|||
|
||||
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 3 Всего: 17 |
Гуеда твой пример пашет, сенкс всем большое, всё тема закрыта
Добавлено @ 17:27 Соорри почти работает 11111111 00 111111111 чё за хня -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 3 Всего: 17 |
Демо твой пример тоже не пашет, пишет ошибку
[Error] Unit1.pas(81): Undeclared identifier: 'Tag' -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
| Sunr1se |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 1.5.2006 Репутация: 6 Всего: 13 |
Дело в том, что у TStringList нет свойства Tag. Оно есть только у наследников TComponent.
--------------------
IRC-канал Винграда |
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Хех...
Это сообщение отредактировал(а) Zero - 18.6.2006, 18:32 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |