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

Комбинаторика, перебор всех сочетаний - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка в функции http://www.cyberforum.ru/cpp-beginners/thread767085.html
Помогите исправить ошибку мне надо Составить функцию countX, которая, получив c и b через параметры по значению, "а" через глобальную переменную, вычисляет "х" и возвращает его через параметр по ссылке. В функции main ввести значения a, x1 , x2 . Используя функцию countX, вычислить значение z и выдать на экран // main() #define _USE_MATH_DEFINES #include<iostream> #include<conio.h>...
C++ Определить количество слов, которые содержат ровно четыре буквы "о", "О" Дано строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, которые содержат ровно четыре буквы "о". Помогите, вот есть программа, но что то она не корректно работает... Если ввожу два слова с 4 буквами О, то оно выводит что 2 слова. А если ввожу например слово с двумя буквами О, а потом ввожу слово с 4 буквами О, то пишет что слов с 4... http://www.cyberforum.ru/cpp-beginners/thread767082.html
Двумерный массив. Сформировать вектор из наименьших значений элементов строк и найти их среднее арифметическое C++
Задав двумерный массив вещественных данных (матрицу А), реализовать его обработку, как указано в варианте. Исходные данные задать самостоятельно, учитывая специфику задачи. В программе должны быть предусмотрены функции ввода-вывода элементов массиваА и его обработки. Вариант Задана квадратная матрица A размером N x N (N<=10), состоящая из действительных элементов. Сформировать вектор из...
C++ Нужен const или нет
Привет. Перегружал оператор= для своего класса. Identificator& Identificator::operator=(const Identificator &_r_oper) { Length = _r_oper.getlen(); Data = new char; strcpy(Data, _r_oper.Get()); } Программа возмутилась на строках 2 и 3. Не понравилось ей то, что методы Get и getlen были не const (на stackoverflow решение посоветовали такое). Я из изменил:
C++ Функция strncat http://www.cyberforum.ru/cpp-beginners/thread767028.html
Написать вариант функции strncat(s,t,n), которая копирует не более n букв стринга t в конец стринга s и программу для проверки работоспособности этой функции.
C++ Массивы. Упорядочить элементы заданного массива целых чисел по убыванию количества единиц... Задание 1 Упорядочить элементы заданного массива целых чисел по убыванию количества единиц, содержащихся в двоичном представлении элементов массива. подробнее

Показать сообщение отдельно
SeaMonster
 Аватар для SeaMonster
15 / 15 / 0
Регистрация: 31.12.2012
Сообщений: 101
20.01.2013, 16:36     Комбинаторика, перебор всех сочетаний
Мне сейчас лень писать код, но думаю можно попробовать так. Представим себе, что скажем 00000111 это число. Как из того же количества цифр получить следующее большее. Проверяем . Если в седьмой ячейке 0 и в восьмой 1, то меняем их местами и получаем новое сочетание. Если нет, то пробуем тоже для шестой и седьмой.
Т.е. что-то типа
C++
1
2
3
4
5
6
7
8
int ar[Size]//стартовым значением, сначала ноли потом в конце единички
 
for(;;){
 for(int i=Size-2;i>=0;i--){
  if(ar[i]==0 && ar[i+1]==1){ar[i]=1;ar[i+1]=0; направляем новый полученный куда надо и break; прерываем цикл}
  }
проверочка какая-то, не перешли ли все единички в самое начало, тогда значит все перебрали и это цикл тоже завершить
}
Добавлено через 15 минут
Этот алгоритм увы в топку... Попробовал так, понятно быстро написал, но он находит только часть комбинаций
 
Текущее время: 17:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru