Форум программистов, компьютерный форум 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); подробнее

Показать сообщение отдельно
max777alex
44 / 44 / 3
Регистрация: 01.02.2012
Сообщений: 822
21.12.2013, 09:52     Полный перебор чисел массива
тогда можно рекурсивно перебирать

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;
}
 
Текущее время: 19:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru