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

Все возможные перестановки букв слова - нужен алгоритм - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Помогите составить программу транслитерации. http://www.cyberforum.ru/cpp-beginners/thread397780.html
Составить программу , которая выводила бы на экран видеомонитора текст, который бы набирался русскими символами, а выводился их латинскими аналогами (транслитерация). Например слово "Слава" должно выводиться как "Slava".
C++ Сортировка в файле,доделать прогу Задание: Написать функцию, которая записывает в бинарный файл данные о сканере из приведенной структуры. Структура файла: в первых двух байтах размещается значение типа int, определяющее количество сделанных в файл записей; далее без пропусков размещаются записи о сканерах. Написать функцию, которая сортирует записи в описанном выше бинарном файле по одной из следующих характеристик: цена либо... http://www.cyberforum.ru/cpp-beginners/thread397748.html
Способ оптимизации. C++
Здравствуйте. Не могли бы вы мне помочь с задачей по Exel облазил кучу сайтов, толку никакого. 4. Решить задачу оптимизации методом «поиска решения». Из прямоугольного листа железа A x B требуется выкроить цельные детали бочки: днище, крышка, боковая стенка. Определить возможные размера диаметра D и высоты бочки H при условии, что её объем V должен быть максимальным.
Описать класс,реализующий бинарное дерево,Написать прогу, использующую этот класс C++
Помогите с задачкой пожалуйста! Описать класс, реализующий бинарное дерево, обладающее возможностью добавления новых элементов, удаления существующих, поиска элемента по ключу, а также последовательного доступа ко всем элементам. Написать программу, использующую этот класс для представления англо-русского словаря. Программа должна содержать меню, позволяющее осуществить проверку всех методов...
C++ компилятор с++ http://www.cyberforum.ru/cpp-beginners/thread397736.html
подскажите хороший компилятор с++ чтоб можно было создавать приложения с графикой как в делфи???
C++ массив из 15 строк Дан двухмерный массив из 15 строк. Вставить в него строку из нулей после всех строк, номер которых кратен трем. подробнее

Показать сообщение отдельно
Байт
 Аватар для Байт
14338 / 9169 / 1321
Регистрация: 24.12.2010
Сообщений: 16,775
04.12.2011, 09:58     Все возможные перестановки букв слова - нужен алгоритм
Вот такой есть НЕРЕКУРСИВНЫЙ алгоритм
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
#define N 6
 
main()
{ char s[N+1], t; int i, j, r, k;
 
 for(i=0; i<N; i++) s[i] = '1'+i;
 s[N] = '\0';
 
 while(1) {
   printf("%s\n", s);
       // Находим самое правое место, где s[i] < s[i+1]
   for(i=N-1; i>=0 && s[i] > s[i+1]; i--) ;
   if (i<0) break; // Уже получили "654321" - самую старшую перестановку
       // Находим s[j] - наименьший элемент справа от s[i] и больший его
   for(j=N-1; s[i] > s[j]; j--) ;
       // Меняем s[i] <-> s[j]
   t = s[j];
   s[j] = s[i];
   s[i] = t;
       // То, что за "i" - переворачиваем
   for(k=i+1, r=N-1; r > k; k++, r--) {
     t = s[r];
     s[r] = s[k];
     s[k] = t;
   }
 }
}
/*****************/
Нашел в книге Липского "Комбинаторика для программистов"
 
Текущее время: 10:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru