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

Полный перебор чисел массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нахождение значения выражения для n корней http://www.cyberforum.ru/cpp-beginners/thread1050485.html
Нахождение значения выражения для n корней. (с использованием рекурсии)
C++ нужно что бы выводило количество каждой буквы и строки #include <string> #include <iostream> int main() { std::string vowel = "AaEeIiOoUuYy"; std::string str; std::cout << "Enter string" << std::endl; std::cin >> str; http://www.cyberforum.ru/cpp-beginners/thread1050480.html
C++ Какой из N треугольников, заданных координатами своих вершин, имеет больший периметр?
какой из N треугольников, заданных координатами своих вершин, имеет больший периметр?
Перевернуть строки в матрице C++
Дан двумерный массив A размера mXn. Перевернуть каждую его третью строку.
C++ Задача http://www.cyberforum.ru/cpp-beginners/thread1050470.html
Рекомендации к задаче: 1. Имя файла задавать в командной строке. Если оно там не был задан, то после соответствующего запроса имя вводится пользователем. 2. Использовать динамическое выделение памяти (размер массива задается пользователем после соответствующего запроа). Оссвобождать память, выделенную под динамические переменные, ОБЯЗАТЕЛЬНО. Сама задача: Есть информация о деталь:...
C++ файлы в С file=fopen("file.txt","r"); for(i=0;;i++) {do {n=fgetc(file); printf("%c",n); } while (n!=EOF); break;} fclose (file); подробнее

Показать сообщение отдельно
Roodey
4 / 4 / 1
Регистрация: 23.05.2013
Сообщений: 36
21.12.2013, 10:03  [ТС]     Полный перебор чисел массива
Цитата Сообщение от max777alex Посмотреть сообщение
тогда можно рекурсивно перебирать
Кликните здесь для просмотра всего текста

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
#include <iostream>
#include <cstdio>
#include <iomanip>
#include <string>
#include <vector>
 
using namespace std;
 
const int n = 5;
int a[n];
 
void f(int ind, int used)
{
    if(ind == n)
    {
        for(int i = 0; i < n; ++i)
            cout << a[i] << " " ;
        cout << endl;
        return;
    }
 
    for(int i = 2; i < n + 1; ++i)
    {
        if(used & (1 << i))
            continue;
        a[ind] = i;
        f(ind + 1, used | (1 << i));
    }
}
 
 
int main()
{
    a[0] = 1;
    f(1, 1);
    return 0;
}
Премного благодарствую
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru