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

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

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

> Обработка строки...
NeWT
сообщение 8.01.2005 23:32
Сообщение #1





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

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


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

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

Был бы весьма благодарен!!! :thanks:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 1)
volvo
сообщение 9.01.2005 0:00
Сообщение #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

 



- Текстовая версия 28.07.2025 9:41
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"