| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [Pascal] Анаграмы |
| Автор: shef 31.10.2006, 13:10 |
| Міститься рядок довжиною не більше 255 символів, у якому через один або декілька пропусків слідують слова. Знайти всі групи анаграм (Анаграма - це слово, яке утворюється з іншого слова перестановкою його букв) у цьому рядку та вивести кожну групу з нового рядка. Всі слова повинні йти через пропуск у порядку, у якому вони зустрічаються в рядку. Однакові слова виводити не можна. Приклад вхідних і вихідних даних: 123 321 1234 12345 123456 231 132 3241 123457 123 123 321 231 132 1234 3241 |
| Автор: marykone 31.10.2006, 13:21 |
| а как насчет еще и на русском спросить |
| Автор: Snowy 31.10.2006, 14:32 |
| Модератор: Перенесено из паскаля |
| Автор: Snowy 31.10.2006, 14:36 |
Вводится строка длинною не более 255 символов, в которой через один или несколько пробелов слtдуют слова. Найти все групы анаграм в этой строке и вывести каждую групу с новой строки. Все слова должны идти через пробел в порядке, в котором они встречаются в строке. Однаковые слова выводить нельзя. Пример в родном посте. Под анограммой здесь видимо понимается простая перестановка символов, а не анограмма. А язык - то Паскаль |
| Автор: ivashkanet 1.11.2006, 12:23 |
| А у меня вопрос: --- это только цифры или нет? |
| Автор: shef 1.11.2006, 15:10 |
| Да только числа! |
| Автор: ivashkanet 1.11.2006, 16:01 |
| Хорошо, значит идея такая: 1) Выделяем все слова в отдельный массив. 2) Формируем второй массив, в котором находятся отсортированные слова 3) Просто сравниваем "слова" из второго массива и формируем группы (но из первого массива. Ведь индекс "слов" в массивах тот же). 4) Отсеить повторения в группах. P.S. Паскаль давно не видел, так что буду писать долго P.P.S. И еще, как в паскале перевести символ в число? (типа "1" в 1) Или, хотя бы, узнать его код? P.P.P.S. Может есть рациональнее метод |
| Автор: anwe 2.11.2006, 01:13 | ||
| shef, я уже после увидел, что символы это цифры, поэтому сделал для всех символов. Алгаритм такой, как описал ivashkanet, только 4) сидит внутри 3) в виде невыводимых символов. Держи.
|
| Автор: Lubega 4.11.2006, 16:44 |
| shef? ты де**ил чтоли? Неужели ты не понимаеш,что уже в первой лиге препод знает и за это решение тебе ноль поставит? |