IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Обработка строки...
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Вот у меня 6 числа экзамен был. И там попалась мне одна задача, которую я так и не смог решить, а очень интересно было бы узнать и разобраться. Вообщем вот:
Ввести строку символов. Разделителями в строке могут быть "_", ":",...и т.д. Необходимо удалить пару слов являющимися анаграммами, и содержащих букву, которую необходимо ввести с клавиатуры...

P.S. Условие не совсем точное (не успел переписать на листочек)

Был бы весьма благодарен!!! :thanks:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






NeWT
Ну так в чем проблема? Вводишь строку символов, заменяешь в ней все символы, которые могут быть разделителями слов на пробелы, в ФАКе есть функция, разбивающая строку на слова...
Вот эта функция определяет, являются ли 2 слова анаграммами...
Код
function is_anagram(s1, s2: string):boolean;
 var
   b: boolean;
   i, p: byte;
 begin
   is_anagram := false;
   if length(s1) <> length(s2) then exit;

   for i := 1 to length(s1) do
     begin
       p := pos(s1[i], s2);
       if p = 0 then exit;

       delete(s2, p, 1)
     end;
   is_anagram := true
 end;

Если слова s1 и s2 - анаграммы, то функция вернет True, иначе - False...
Все,что осталось - собрать это в одну программу... ;)
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 1.09.2025 18:14
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name