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

Сгенерировать все сочетания длины k из чисел 0,1,2,...n-1 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массив указателей. http://www.cyberforum.ru/cpp-beginners/thread267299.html
Помогите разобраться почему мне компилятор говорит "implicit declaration of function" на вот это: int parser(char *data, char *stack) аргументы *data строка сообщение, *stack массив указателей в котором сохраняется "расшифрованная" строка из *data возвращает размер массива stack *stack далее передается в функцию int playWav (char *argv, int size) int parser(char *data, char *stack); ...
C++ Посимвольная запись в строки из файлов Доброго времени суток. После долгого больничного пытаюсь разобраться со вторым семестром! :) Проблема собственно в чем! Не могу посимвольно записать символы из файла в строку. Собственно что не так делаю? Код привел ниже. FILE *f; f = fopen("file.txt", "rt"); char ch; if(!f) { http://www.cyberforum.ru/cpp-beginners/thread267280.html
Я новичок создаю программу подскажите в чём смысл ошибок???? что-то с библиотекой glut ? C++
Создаю программу моделирование гравитации ) выдавало ошибку что нет библиотеки glut ) нашёл в инете скопировал вставил после этого выдаёт ошибки эти) может кто нить мне написать что за ошибки что требует и где-то читал что glut lib нужно самому делать что с инета вставлять нельзя работать не будет. Буду очень благодарен если кто-нибудь поможет, просто самому опыта не хватает в С++ пару дней,а...
C++ Генератор случайных неповторяющихся чисел
Народ помогите! Проблема следующая. Я создал массив и заполнил его числами с помощью rand от -20 до 20. Как сделать так, чтобы при выводе чисел они не повторялись!
C++ Шаблон функции http://www.cyberforum.ru/cpp-beginners/thread267253.html
Написать шаблон функции для вычисления суммы элементов, находящихся между первым и последним нулевыми элементами. Помогите пожалуста! Добавлено через 29 минут Помогите пожалуста!!!!!!! :cry:
 

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,672
31.03.2011, 11:45     Сгенерировать все сочетания длины k из чисел 0,1,2,...n-1
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/////////////////////////////////////////////////////////////////////////////////////////
//В функцию передаем n и k, она возвращает матрицу размерами C(n,k) строк на k столбцов
//К примеру n = 4, k = 2 (числа 0 1 2 3)
//Функция должна вернуть:
//
//01
//02
//03
//12
//13
//23
/////////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <iostream>
#include <vector>
/////////////////////////////////////////////////////////////////////////////////////////
typedef std::vector<int>            T_combination;
typedef std::vector<T_combination>  T_combinations;
/////////////////////////////////////////////////////////////////////////////////////////
void  fill_combinations(int  n, int  k, T_combinations&  combinations)
{
    T_combination  combination_cur(k, -1);    
    for(int  ind = 0;;)    
    {         
        while(combination_cur[ind] == n - k + ind)
        {            
            if(--ind < 0) return;
        }        
        
        int  diff = combination_cur[ind] + 1 - ind;
        
        for(;; ++ind)
        {            
            combination_cur[ind] = ind + diff;            
            if(ind == k - 1) break;            
        }
        combinations.push_back(combination_cur);        
    }
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    std::cout << "Для вычисления сочетаний C(n, k) введите:"
              << std::endl
              << '\t'
              << "n = ";
 
    int  n = 0;
    std::cin >> n;
 
    std::cout << '\t'
              << "k = ";
 
    int k = 0;
    std::cin >> k;
 
    T_combinations  combinations;
    fill_combinations(n, k, combinations);
    std::cout << std::endl
              << "Все "
              << combinations.size()
              <<" комбинаций C("
              << n
              << ", "
              << k
              << "):"
              << std::endl;
 
    for(T_combinations::const_iterator  comb_it = combinations.begin();
        comb_it != combinations.end(); ++comb_it)
    {
        std::copy(comb_it->begin(), comb_it->end(), 
                  std::ostream_iterator<int>(std::cout, " "));
        std::cout << std::endl;
    }
    std::cout << std::endl;
}
 
Текущее время: 09:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru