Форум программистов, компьютерный форум CyberForum.ru

Рекурсивная процедура печати всех перестановок из n символов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создание файлов http://www.cyberforum.ru/cpp-beginners/thread60994.html
Помогите пожалйста!!! А) Создать файл, содержащий сведения о личной коллекции книголюба. Структура записи: автор, название, год издания, местоположение ( номер шкафа) Б) написать программу, выдающую следующую информацию: - местонахождение книги автора Х названия Y. Значения Х и Y вывести с терминала; - список книг автора Z, находящееся в коллекции; - число книг издания NN года, имеющееся в...
C++ операции сдвига помогите со сдвигом требуется сделать в цикле сдвиг нуля в такой последовательности. подскажите как сделать? 11111110 11111101 11111011 11110111 11101111 11011111 10111111 http://www.cyberforum.ru/cpp-beginners/thread60986.html
C++ Вопрос по циклам
Условие: Вводятся натуральное число n, целые числа а1, ..., an. Вычислить сумму: а1 + а2(2)+ ... + an(n) без хранения последовательности значений (не используя массивы данных) *** в скобках указал степень числа. Наброски сделал, но как переводить степень на 1 у следующего числа не подрубаю, плиз помогите. #include <stdio.h> #include <conio.h>
Посмотрите контрольную.... C++
на носу сдача контрольной и мне надо сделать программки небольшие на С++. Помогите мне пожалуйста с ними. 1. Объявите 2 структуры с элементами целого типа: очередь dmer, вектор а_vec и список a_list. Заполните вектор и список элементами. При помощи алгоритма merge объедините в очереди вектор а_vec и список a_list. Выведите содержимое полученной очереди на экран 2. Объявите вектор с элементами...
C++ Перевод из строки в число http://www.cyberforum.ru/cpp-beginners/thread60954.html
Снова я =) Работаю над калькулятором. С функцией ввода разобрался. Значит есть строка ввода. рабочая. заполняет массив buf . Потом запускаеться функция scan_buf , она должна считать число ( пока делаю простой вариант, чтобы работал ^^ ) до знака действия т.е. пишешь в строке 51+9 жмякаешь ентер (в массиве buf : 51+9) запускаеться эта функция , в массив stack помещяться 51 . И теперь это 51...
C++ atal error C1010: unexpected end of file while looking for precompiled header directive. Как убрать эту ошибку? подробнее

Показать сообщение отдельно
ООП
 Аватар для ООП
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 13
04.11.2009, 01:00     Рекурсивная процедура печати всех перестановок из n символов
Факториал все равно может понадобиться: n! - это число всех возможных вариантов. функция fac у меня как раз его и возвращает.

Янчик, у меня несколько шуточный пример (зато он работает и над ним не надо думать долго) для 6 чисел - хорошо, для 7 - уже плохо. Можно более оптимизированно сделать, чем просто ставить туда рандомные значения.

То, что я пометил в комментарии, что можно удалить, лучьше не удалять , но если все же удалишь, то нужно исправить строку в функции next с if(pos > 2) next(lst, --pos); на if(pos > 1) next(lst, --pos); а то один какой-то вариант не досчитает.

Добавлено через 2 минуты
а если не удалять, то, наверное, будет работать чуть быстрее
 
Текущее время: 22:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru