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

Реализация комбинаторики - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сложение 2-х целых двоичных чисел, хранящихся в массивах A и B http://www.cyberforum.ru/cpp-beginners/thread632267.html
Задачка из Кормена. Результат записать в массив С. Написал, что-то вроде: int main() { int i,q=0; for(i=n-1;i>=0;i--) { c = a^b^q; q = (q+a+b)>>1; }
C++ задача непонятная Объясните, пожалуйста, что нужно сделать, а то формулу не могу вывести, т.е. что нужно делать и с какой последовательностью. Было бы здорово если объяснение с примером ) http://www.cyberforum.ru/cpp-beginners/thread632260.html
Библиотека/утилита для извления flv (флэш) контента из html страницы C++
Есть ли подобные вещи для извлечения url на flv контент из html кода страницы? Сразу скажу, что это не популярный видеохостинг типа ютуба. Но при помощи браузера фаерфокса+плагина download helper я...
Какой книгой лучше пользоваться при изучении visual c++ 2008 C++
Решил изучить visual c++ 2008. Какой книгой лучше пользоваться при изучении(полый "0" в с++)?
C++ Программирование пользовательского элемента управления http://www.cyberforum.ru/cpp-beginners/thread632210.html
Я собираюсь сделать грубый графический редактор для моей же игры. Для этого мне надо сделать новый элемент управления в качестве облегченного варианта PictureBox, с одним пикселем. У него будет...
C++ Чтение свойтв (тех данных) файла Здравствуйте. Подскажите пожалуйста, как считывать все тех данные файлов? (они же свойства файла) Под техданными имею ввиду: размеры картинки, время создания/изменения, разрешение видеофайла,... подробнее

Показать сообщение отдельно
kravam
быдлокодер
1700 / 887 / 45
Регистрация: 04.06.2008
Сообщений: 5,494
05.08.2012, 09:53
Немножко теории. Итак, тебе надо Получить Сочетаний Из N по K Без Возврата И Без Учёта Порядка

Существует специальный класс, вот такой (ниже имя класса и аргументы)
P_s_i_n_p_k_b_v_i_s_u_p (контейнер "hello", пресловутое k ( в нашем случае 1, 2, 3 или 4 ))

Ну всё, Объявляешь объект этого класса и... выводишь. Проще пареной репы
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "kombinatorika.h"
#include <windows.h>
#include <iterator>
 
int main () {
 SetConsoleCP (1251);
 SetConsoleOutputCP (1251);
 
 //Исходный вектор, скропай его сам (можно "hello", но что-то мне подсказывает, 
 //что так будет правильнее)                                                    
 string hello ("helo");
 vector<char> vec (hello.begin(), hello.end());
 
 
 //ВЕктор- результат                                                            
  vector<char> rez; 
 int k= 0;
 
 //В цикле делаем                                                               
 for (int i= 0; i< 4; i++) {
 
  //ОБъявляем объект упомянутого класса                                         
  //АРгумент такие: vector "helo" и число 1 (увеличивается в цикле; потом будет 
  //2 и т. д.)                                                                  
  P_s_i_n_p_k_b_v_i_s_u_p<char, vector> P_s_i_n_p_k_b_v_i_s_u_p_l (vec, i+ 1);
 
  //Пока есть очередное сочетание...                                            
  while (P_s_i_n_p_k_b_v_i_s_u_p_l.och_rez()) {
       rez= P_s_i_n_p_k_b_v_i_s_u_p_l.rez();  
  //   ВЫвододим!                                                               
       copy (rez.begin(), rez.end(), ostream_iterator<char>(cout, ""));
       cout<< endl;
  }
 }
 
 getchar ();
 return 0;
}
                                        //+
                                        //+
                                        //+
                                        //+
                                        //+
Подобным образом реализовано получение всех сочетаний с возвратом, без возврата с учётом порядка и без учёта порядка. Работает с вектором, списком, очередями. Со строками не работает, но есть исходник при желании можно подправить.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru