![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
valerii |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: valerii Репутация: ![]() ![]() ![]() |
Задачка непростая.
Итак, вот что надо сделать: программа должна в вводимом тексте искать каждое 5 слово и заменять только одну найденную букву в слове: "а" на %, а если буквы "а" нету, тогда букву "о" на *. Хоть с паскалем знаком, но как организовать подобное не знаю. Что посоветуйте? |
Unconnected |
![]()
Сообщение
#2
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Для такой непростой задачи советую сделать конечный автомат.
![]() -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
valerii |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: valerii Репутация: ![]() ![]() ![]() |
|
Unconnected |
![]()
Сообщение
#4
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
А как вводится текст, строкой, файлом, или каждое слово отдельно?
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
valerii |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: valerii Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата заменять только одну найденную букву в слове: "а" на %, а если буквы "а" нету, тогда букву "о" на *. Задачу уточни... Допустим, слово №10 = это "мама". Что должно быть заменено? Только одна буква (какая именно?) или все буквы? Или вообще замена должна производиться только если в таких словах ВСЕГО одна заданная буква?Цитата Для такой непростой задачи Я тебя умоляю. Метод разбиения строки на слова от klem4 (только не в виде функции, а в основной программе) решает эту задачу максимум в 40 строк. Со всеми описаниями переменных ![]() |
Lapp |
![]()
Сообщение
#7
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Для такой непростой задачи советую сделать конечный автомат. ![]() ![]() 2 valerii: Если с Паскалем знаком (лично? ![]() Примерно так: 1. организуешь поток символов данного текста; 2. обнуляешь счетчик слов n; 3. опустошаешь строку для будущего слова w; 4. из потока берешь следующий символ c; 5. если поток был пуст и слово w пусто - выходишь из программы; 6. если с - буква, добавляешь ее к w и преходишь к 4; 7. если w пусто, переходишь к 4; 8. увеличиваешь счетчик слов n; 9. если n<5, переходишь к 3; 10. выставляешь флаг f в true; 11. проходишь в цикле по слову w, если встречаешь "a" - заменяешь его на % и сбрасываешь f в false (и либо подолжаешь цикл, либо обрываешь, в зависимости от того, что ты ответишь на вопрос volvo); 12. если f, то проходишь в цикле по слову w, если встречаешь "o" - заменяешь его на * (и либо подолжаешь цикл, либо обрываешь, в зависимости от того, что ты ответишь на вопрос volvo); 13. переходишь к 2. Разберешься? Когда переведешь алгоритм в код, показывай. Успехов. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 21.04.2025 0:46 |