![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 30.11.2006
Сообщений: 5
|
![]()
выручайте! нужно написать следующюю прогу.
"вводится строка из слов. слова разделены одним или более пробелом. после последнего слова - точка. в слове от 1 до 8 английских символов. всего слов до 50 штук. вывести те, которые являются симметричными и не совпадают с последним словом" |
![]() |
![]() |
![]() |
#2 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,655
|
![]()
алгоритм:
1)создаёшь слово-буфер, обнуляешь его. 2)добавляешь побуквенно в слово-буфер, если следующий символ пробел, то добавляешь слово в массив слов. обнуляешь слово-буфер 3)ищешь символ отличный от пробела и начинаешь с пункта 2 и так до точки. 3)прогоняешь через цикл массив полученных слов, сравнивая первую и последнюю букву, вторую и предпоследнюю и т.д. тоже лучше в цикле. 4)если слово семметричное выводишь его в memo, например. какой из пунктов не понятен? или нужен код? |
![]() |
![]() |
![]() |
#3 |
Регистрация: 30.11.2006
Сообщений: 5
|
![]()
лучше код... если не затруднит... спасибо.
|
![]() |
![]() |
![]() |
#4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
1. Выделяем последнее слово и сохраняем в переменной.
2. Поочередно выделяем слова, создаем их "перевертыши" (если я правильно понял выражение "симметричные слова"). 3. Проверяем "перевертыша" и оригинал на совпадение с последним словом. Если нет совпадения - п.4. 4. Осуществляем поиск "перевертыша" в оставшейся части строки. 5. Опять на п.2. Основной оператор - CompareStrings Или опять готовый листинг требуется? |
![]() |
![]() |
![]() |
#5 |
Регистрация: 30.11.2006
Сообщений: 5
|
![]()
mihali4
Алгоритм я и сам примерно так представлял. Только вот как его оформить в коде - увы. В Дельфях не силен (знаю на уровне начальной школы: циклы, массивы и т.п.), а прога нужна моему знакомому. Поэтому самому сидеть и листать доки, вспоминая правила записи команд некогда. Если можешь - дай готовый листинг. |
![]() |
![]() |
![]() |
#6 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,655
|
![]()
перевёртыши это что?
deged - перевёртышь? я так понял задачу. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 30.11.2006
Сообщений: 5
|
![]()
Ага. Оно же abccba, abbba. Хотя уже самого начали брать сомнения в значении этого термина. Первое слово вроде как симметрично относительно промежутка между буквами сс. А второе - относительно самой буквы, хотя тоже по идее симметрично.
В общем пусть симметричные те, которые читаются одинаково справа налево и слева направо. |
![]() |
![]() |
![]() |
#8 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
![]()
И опять под листинг попадаю я...
![]() Я беру за основу то, что пользователь вводит всю эту беду в memo... На форме - 2 memo, 1 Button. Код:
Познавая других, мы познаем себя.
С'est la vie... |
![]() |
![]() |
![]() |
#9 |
Регистрация: 30.11.2006
Сообщений: 5
|
![]()
SuperVisor
Благодарю! Только для полного выполнения условия задачи "...и не совпадают с последним словом" следует написать так: Код:
|
![]() |
![]() |
![]() |
#10 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
![]()
Странно, вроде-бы писал.. Но это не столь важно, если ты это заметил, а еще лучше немного поправить сторку: из
Код:
Код:
![]() Обращайся, если что.
Познавая других, мы познаем себя.
С'est la vie... Последний раз редактировалось SuperVisor; 01.12.2006 в 20:20. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
пара вопросов по строкам | Ravenbird | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 03.11.2006 22:55 |