| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [C]Сочетания в строке |
| Автор: igrulya 11.7.2007, 20:22 |
| Народ, помогите плиз составить программу, которая будет выводить различные комбинации символов из введенной строки. |
| Автор: igrulya 12.7.2007, 09:58 |
| Желательно только C |
| Автор: JackYF 12.7.2007, 17:50 |
| ты потом код объяснять кому-нибудь будешь или тебе сдавать готовую программу, и все? |
| Автор: Dov 12.7.2007, 20:00 | ||
Допустим, я ввёл строку:
И что должна сделать программа? Что она должна вывести? |
| Автор: igrulya 12.7.2007, 20:30 |
| Объяснять мот и придется.(Разберусь) Прога должна выводить сочетания символов. Допустим для твоей строки 12 13 123 456 и т.д. |
| Автор: Dov 12.7.2007, 20:46 |
igrulya, ты конкретно можешь сказать? Сколько таких сочетаний должна выводить программа? 5, 10, 1000, сколько? В каком порядке она их должна выводить? Вперемешку или отсортированными? Если ты хочешь что бы тебе помогли, то конкретизируй своё задание. И не заставляй людей вытягивать из тебя каждое слово, а чётко и ясно объясни, что должна делать твоя программа. Желательно, на конкретных примерах. |
| Автор: igrulya 12.7.2007, 21:15 | ||
Подходил к приподу. Он сказал выводить все возможные сочетания символов из строки.
Вот эта прога выводить по два символа по порядку. Можно ли добиться такого же результата как-то по другому??Как быть с сочетаниями из трех-четырех символов??Можно ли обойтись без множества Вложенных циклов?? |
| Автор: JackYF 12.7.2007, 22:07 | ||||
| igrulya, к чему я это все ввел. В STL, стандартной библиотеке шаблонов C++, есть алгоритм, называется std::next_permutation. Так вот. С ним программа на С++ выглядела бы где-то так:
Я так когда-то схитрил на олимпиаде, там точно же такое задание было... Но вот чтобы превратить это в С-код, придется потрудиться... Приведу код next_permutation, авось тебе поможет
|
| Автор: Dov 13.7.2007, 00:27 | ||
Мой вариант:
|
| Автор: sentry 24.7.2007, 20:23 | ||
Можно и без вложенных циклов, но с рекурсией:
|
| Автор: Dov 25.7.2007, 21:23 |
На мой взгляд, это самое верное решение. sentry, молодец. з.ы. И всё-таки влияние какого-то 'паскалеидного языка' видно невооружённым глазом. Сишник написал бы немного иначе. В любом случае по репе заслужил. |