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

Все возможные тройки из 10 фамилий без повторов - C++

Восстановить пароль Регистрация
 
Starternh
18 / 1 / 0
Регистрация: 29.05.2013
Сообщений: 60
26.04.2014, 01:15     Все возможные тройки из 10 фамилий без повторов #1
Вообщем то в задачке нужно составить все возможные тройки из 10 фамилий. Проблема в том, что я не знаю как исключить повторы. Вот код:
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
#include <iostream>
#include <conio.h>
#include <cstring>
#include <string>
using namespace std;
 
int main()
{
setlocale(LC_ALL, "Russian");
int k(0);
string a[10] = {
        "Иванов", "Петров", "Сидоров",
        "Ахмедов", "Ерошкин", "Выхин",
        "Андеев", "Вин Дизель", "Картошкин", "Чубайс"
    };  
    for(int i(0);i<10;i++)
    {
        for(int j(1);j<10;j++){
            for(int v(2);v<10;v++){
                k++;
                cout<<k<<") ";
                cout<<a[i]<<", ";
                cout<<a[j]<<", ";
                cout<<a[v]<<endl;
            }
            
 
        }
    }
    getch();
    return 0;
 
}
Как видите возникают повторы типа "Чубайс, Чубайс, Ерошкин". Но такого быть не должно(Дважды один и тот же в одной строчке). Подскажите, как исключить такую ошибку?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Ellen_
15 / 15 / 5
Регистрация: 28.11.2013
Сообщений: 50
26.04.2014, 01:21     Все возможные тройки из 10 фамилий без повторов #2
Проще всего проверять, не равны ли какие-то два счетчика...
Denis123456789
43 / 43 / 17
Регистрация: 02.06.2013
Сообщений: 180
26.04.2014, 01:23     Все возможные тройки из 10 фамилий без повторов #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
#include <iostream>
#include <conio.h>
#include <cstring>
#include <string>
using namespace std;
 
int main()
{
setlocale(LC_ALL, "Russian");
int k(0);
string a[10] = {
        "Иванов", "Петров", "Сидоров",
        "Ахмедов", "Ерошкин", "Выхин",
        "Андеев", "Вин Дизель", "Картошкин", "Чубайс"
    };  
    for(int i(0);i<10;i++)
    {
        for(int j=i+1;j<10;j++){
            for(int v=j+1;v<10;v++){
                k++;
                cout<<k<<") ";
                cout<<a[i]<<", ";
                cout<<a[j]<<", ";
                cout<<a[v]<<endl;
            }
            
 
        }
    }
    getch();
    return 0;
 
}
Попробуй так
_Ellen_
15 / 15 / 5
Регистрация: 28.11.2013
Сообщений: 50
26.04.2014, 01:26     Все возможные тройки из 10 фамилий без повторов #4
Denis123456789, только i < 8, a j < 9 тогда
Denis123456789
43 / 43 / 17
Регистрация: 02.06.2013
Сообщений: 180
26.04.2014, 01:28     Все возможные тройки из 10 фамилий без повторов #5
_Ellen_, ну да
Starternh
18 / 1 / 0
Регистрация: 29.05.2013
Сообщений: 60
26.04.2014, 01:32  [ТС]     Все возможные тройки из 10 фамилий без повторов #6
Да, спасибо, вроде всё правильно)
Yandex
Объявления
26.04.2014, 01:32     Все возможные тройки из 10 фамилий без повторов
Ответ Создать тему
Опции темы

Текущее время: 14:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru