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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Parmaster
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 35
#1

Как добавить перебор выборок? - C++

11.06.2012, 11:37. Просмотров 337. Ответов 2
Метки нет (Все метки)

Задается массив с клавиатуры. Нужно из 6 введенных цифр сделать полный перебор всех выборок из 3 элементов. тоесть если массив 1 2 3 4 5 6 - возможные выборки: 123 132 321 и т.д.
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
#include "stdafx.h"
#include <algorithm> // для сорт
#include <ctime>
#include <iostream> 
using namespace std;
const int size=10;
int main() 
{   
    setlocale(0,"rus");
    int i = 0;
    const int size = 5; 
    int array[size]; 
 
    for ( i = 0; i < size; i++) 
    {
    while(true) 
    { 
        cout << "Введите целое число " << endl; 
        cin >> array[i]; 
        if(cin.good()) 
        { 
            cin.ignore(10, '\n'); 
            break; 
            i++;
        } 
        cin.clear(); 
        cout << "Неправильный ввод " << endl; 
        cin.ignore(10, '\n'); 
    } 
      
}
Теперь из массива array надо вот сделать эти самые выборки. Не приложу ума как?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2012, 11:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как добавить перебор выборок? (C++):

Перебор текста по символам[как в поисковиках] - C++
Всем привет,часто лазию по гуглу ну наверное как все,и тут захотел написать программку которая тоже бы определяла какое слово пользователь...

Перебор сюрьекций как это должно выгладить при выводе? - C++
Что это такое понятно. Мне нужно написать алгоритм перебора монотонно неубывающих сюрьекций. Не могу понять как это должно выглядеть при...

Не могу разобраться с тем, как делать поэлементный перебор символов строки, изменяя значение указателя - C++
Нужно написать такую программу, которая Даны два предложения. Напечатать те слова из первого, которые входят и во второе предложение. При...

Как сделать чтобы перебор символов шел до конца строки? Если у меня например в ней есть пробелы? - C++
for (i=0;X!='\0';i++); // цикл перебора символов строки, продолжается пока не стретится пустой символ Вот этот цикл перебирает до...

Перебор файла посимвольно, как организовать цикл, работающий до конца файла. - C++
Нужно перебрать файл посимвольно и, учитывая спецсимволы записать содержимое файла в Memo1. Помогите пожалуйста организовать цикл...

как переделать массив что бы не было его остановки и как добавить индекс - C++
Такая вот задача найти индекс максимального элемента массива , вот мой код что тут не так и что следует добавить ? и почему у меня индекс...

2
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
11.06.2012, 11:41 #2
Заполните массив b самостоятельно, и получите вывод всех выборок.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <algorithm>
 
using namespace std;
 
int main()
{
    int a[6] = {0, 0, 0, 1, 1, 1}, b[6] = {1, 2, 3, 4, 5, 6};
 
    do
    {
        for (int i = 0; i < 6; i++)
            if (a[i])
                cout << b[i] << ' ';
 
        cout << endl;
    }
    while (next_permutation(a, a + 6));
 
    return 0;
}
1
Parmaster
0 / 0 / 0
Регистрация: 05.04.2012
Сообщений: 35
11.06.2012, 12:17  [ТС] #3
Я правильно сделал? Вроде работает :-)
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
#include "stdafx.h"
#include <algorithm> // для сорт
#include <ctime>
#include <iostream> 
using namespace std;
const int size=10;
int main() 
{   
    setlocale(0,"rus");
    int i = 0;
    int a[6] = {0, 0, 0, 1, 1, 1};
    const int size = 6; 
    int array[size]; 
 
    for ( i = 0; i < size; i++) 
    {
    while(true) 
    { 
        cout << "Введите целое число " << endl; 
        cin >> array[i]; 
        if(cin.good()) 
        { 
            cin.ignore(10, '\n'); 
            break; 
            i++;
        } 
        cin.clear(); 
        cout << "Неправильный ввод " << endl; 
        cin.ignore(10, '\n'); 
    } 
    }
      
 
    do
    {
        for (int i = 0; i < 6; i++)
            if (a[i])
                cout << array[i] << ' ';
 
        cout << endl;
    }
    while (next_permutation(a, a + 6));
 
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2012, 12:17
Привет! Вот еще темы с ответами:

Как редактировать поля структуры и как добавить новый элемент в вектор структур? - C++
Отзовитесь, пожалуйста, кто-то. Допустим есть структура struct worker { int exp; const char* name; const...

Как добавить и создать CLSID интерфейса в реестр? Что такое ProgId? Как они связаны? Каша в голове - C++
Как добавить и создать CLSID интерфейса в реестр? Что такое ProgId? Как они связаны? Каша в голове

Как сложить результаты двух выборок из БД? - MySQL
как сложить результаты двух выборок из БД? SELECT ((SELECT (ROUND((count(*)/(SELECT count(*) FROM g1))*100)) FROM g1 WHERE otvet=...

Как автоматом строить графики на WEB страничке для выборок из БД? - C# ASP.NET
Как автоматом строить графики на WEB страничке для выборок из БД. Какие есть технологии для реализации подобных вещей? Только ли в виде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru