Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Starternh
21 / 4 / 1
Регистрация: 29.05.2013
Сообщений: 81
#1

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

26.04.2014, 01:15. Просмотров 303. Ответов 5
Метки нет (Все метки)

Вообщем то в задачке нужно составить все возможные тройки из 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;
 
}
Как видите возникают повторы типа "Чубайс, Чубайс, Ерошкин". Но такого быть не должно(Дважды один и тот же в одной строчке). Подскажите, как исключить такую ошибку?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2014, 01:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Все возможные тройки из 10 фамилий без повторов (C++):

Класс: показать все варианты замены провода без повторов
Доброго всем времени суток!Большая просьба кому не трудно покритиковать и...

Генерация чисел без повторов
Подскажите пожалуйста, как сделать так, чтобы при генерации значения в строке...

Вывести список студентов без повторов
Список дежурных. Создать массив данных с фамилиями студентов группы (массив...

Вывести рядки матрицы с 1 и 0 без повторов
Есть двумерный массив, размер которого мы задаем. Как можна вывести рядки с 1 и...

Напечатать все пифагоровы тройки, в которых все числа меньше N
Введите с клавиатуры число N &gt; 5. Натуральные числа a, b, c называются числами...

Создать массив из элементов массивов А и В без повторов
3. Написать программу, которая на основе двух динамических массивов А и В быть...

5
_Ellen_
15 / 15 / 6
Регистрация: 28.11.2013
Сообщений: 50
26.04.2014, 01:21 #2
Проще всего проверять, не равны ли какие-то два счетчика...
0
Denis123456789
43 / 43 / 21
Регистрация: 02.06.2013
Сообщений: 181
26.04.2014, 01:23 #3
Лучший ответ Сообщение было отмечено Starternh как решение

Решение

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;
 
}
Попробуй так
0
_Ellen_
15 / 15 / 6
Регистрация: 28.11.2013
Сообщений: 50
26.04.2014, 01:26 #4
Denis123456789, только i < 8, a j < 9 тогда
1
Denis123456789
43 / 43 / 21
Регистрация: 02.06.2013
Сообщений: 181
26.04.2014, 01:28 #5
_Ellen_, ну да
0
Starternh
21 / 4 / 1
Регистрация: 29.05.2013
Сообщений: 81
26.04.2014, 01:32  [ТС] #6
Да, спасибо, вроде всё правильно)
0
26.04.2014, 01:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2014, 01:32
Привет! Вот еще темы с решениями:

Матрица: заполнение случайных ячеек без повторов
Здравствуйте уважаемые программисты , делаю курсач по шахматам , столкнулся с...

Создать массив, содержащий только общие элементы массивов А и В без повторов
1. Написать программу, которая на основе двух динамических массивов А и В быть...

Создать массив из элементов, которые не являются общими для массивов А и В без повторов
2. Написать программу, которая на основе двух динамических массивов А и В быть...

Найти все тройки натуральных чисел, для которых x^2+y^2=z^2
Найти все такие тройки натуральных чисел x, y, z из интервала от 1 до 20, для...


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

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

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