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

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

Войти
Регистрация
Восстановить пароль
 
Starternh
18 / 1 / 0
Регистрация: 29.05.2013
Сообщений: 60
#1

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

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

Класс: показать все варианты замены провода без повторов - C++
Доброго всем времени суток!Большая просьба кому не трудно покритиковать и указать на мои косяки желательно с разъяснениями.Изучаю я с++...

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

Вывести рядки матрицы с 1 и 0 без повторов - C++
Есть двумерный массив, размер которого мы задаем. Как можна вывести рядки с 1 и 0 чтоб рядки не повторялись. Например: Массив 2x2: 1 1 ...

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

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

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

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

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

Найти все «пифагоровы тройки» в заданном диапазоне чисел - C++
Необходимо найти все «пифагоровы тройки» в заданном диапазоне чисел — натуральные решения уравнения x2+y2=k2, где x, y и k лежат в...

Найти все тройки натуральных чисел, для которых x^3+y^3=z^3 - C++
найти все такие тройки натуральных чисел x, y и z из интервала от х1 до х2, для которых выполняется равенство: x^3+y^3=z^3. Hапишите...

Получить все пифагоровы тройки натуральных чисел, каждое из которых не превышает N - C++
Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /) получить все пифагоровы тройки натуральных...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.04.2014, 01:32
Ответ Создать тему
Опции темы

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