Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 10.06.2021
Сообщений: 7

Вывести все возможные сочетания

10.06.2021, 16:46. Показов 3181. Ответов 11

Студворк — интернет-сервис помощи студентам
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
#include<iostream>
 
using namespace std;
 
int factorial(int N){
    int F = 1;
 
    for (int i = 1; i <= N; ++i)
    {
        F *= i; 
    }
    return F;
}
int main() {
    
    int m,n, x,result;
    cout << "N" << endl;
    cin >> x;
    cout << "M" << endl;
    cin >> m;
    n = m + x - 1;
    result = factorial(n) / (factorial(m) * factorial(n - m));
    cout << "Кількість можливих комбінцій: " << result<<endl;
    return 0;
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.06.2021, 16:46
Ответы с готовыми решениями:

Вывести все возможные сочетания машин и велосипедов с заданной суммой колес
У машин и велосипедов вместе N колес. Сколько может быть машин и велосипедов? (вывести все возможные сочетания) Напоминаем, что у...

Cтрока: вывести в файл все возможные сочетания символов начиная с A, и заканчивая строкой в 16 символов состоящую из Z
Изучая работу со строками в c++ столкнулся с задачей. Есть массив символов английского алфавита от &quot;a&quot; до &quot;Z&quot;, мне...

У машин и велосипедов вместе N колес. Сколько может быть машин и велосипедов? (вывести все возможные сочетания)
У машин и велосипедов вместе N колес. Сколько может быть машин и велосипедов? (вывести все возможные сочетания) Напоминаем, что у...

11
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
10.06.2021, 17:28
комбинации чего!? И количество комбинаций ты факториалами много не насчитаешь - скорее у тебя размер int факториалы превысят, хотя кол-во комбинаций было бы относительно скромным. Лучше биномиальные к-ты через треугольник Паскаля считать!
0
0 / 0 / 0
Регистрация: 10.06.2021
Сообщений: 7
10.06.2021, 18:33  [ТС]
вапрос почемуто редактировали.
програма уже подщитивает коминации.
нужно вивисти их на екран
0
0 / 0 / 0
Регистрация: 10.06.2021
Сообщений: 7
10.06.2021, 18:36  [ТС]
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
#include<iostream>
 
using namespace std;
 
int factorial(int N){
    int F = 1;
 
    for (int i = 1; i <= N; ++i)
    {
        F *= i; 
    }
    return F;
}
int main() {
    
    int m,n, x,result;
    cout << "N" << endl;
    cin >> x;
    cout << "M" << endl;
    cin >> m;
    n = m + x - 1;
    result = factorial(n) / (factorial(m) * factorial(n - m));
    cout << "Кількість можливих комбінцій: " << result<<endl;
    return 0;
}
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
10.06.2021, 19:55
Лао, комбинации чего!? И количество комбинаций ты факториалами много не насчитаешь - скорее у тебя размер int факториалы превысят, хотя кол-во комбинаций было бы относительно скромным. Лучше биномиальные к-ты через треугольник Паскаля считать!
0
0 / 0 / 0
Регистрация: 10.06.2021
Сообщений: 7
10.06.2021, 22:49  [ТС]
с клавиатури вводиш N и M.
програма ищет комбиниции.
например С из 5 по 7 =330.
тоисть есть 330 комбинацей.
мне нужна штоби прога ищо и вівела все комбинации на екран

Добавлено через 3 минуты
например к С из 5 по 7
1 1 1 1 1 1 1
1 1 1 1 1 1 2
1 1 1 1 1 1 3
и так далее
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
11.06.2021, 01:24
Цитата Сообщение от Лао Посмотреть сообщение
1 1 1 1 1 1 1
1 1 1 1 1 1 2
1 1 1 1 1 1 3
это не комбинации
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
11.06.2021, 05:42
Лучший ответ Сообщение было отмечено zss как решение

Решение

Цитата Сообщение от Лао Посмотреть сообщение
С из 5 по 7
Наоборот С75 - количество сочетаний из 7 возможных по 5 шт без повторений
А то, что Вы хотите называется "Сочетания с повторениями"
См. https://prog-cpp.ru/combinations/
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
#include <iostream>
using namespace std;
bool NextSet(int *a, int n, int m)
{
    int j = m - 1;
    while (a[j] == n && j >= 0) j--;
    if (j < 0) return false;
    if (a[j] >= n)
        j--;
    a[j]++;
    if (j == m - 1) return true;
    for (int k = j + 1; k < m; k++)
        a[k] = a[j];
    return true;
}
void Print(int *a, int n) 
{
    static int num = 1;
    cout.width(3);
    cout << num++ << ": ";
    for (int i = 0; i < n; i++)
        cout << a[i] << " ";
    cout << endl;
}
int main() 
{
    int n, m, *a;
    cout << "N = ";
    cin >> n;
    cout << "M = ";
    cin >> m;
    cin.get();
    int h = n > m ? n : m; // размер массива а выбирается как max(n,m)
    a = new int[h];
    for (int i = 0; i < h; i++)
        a[i] = 1;
    Print(a, m);
    while (NextSet(a, n, m))
        Print(a, m);
    delete[] a;
    cin.get(); 
    return 0;
}
0
0 / 0 / 0
Регистрация: 10.06.2021
Сообщений: 7
11.06.2021, 10:32  [ТС]
спасибо.
но нужно штоби в конце ищо виводило количество комбинаций.
типу
количество комбинаций = 330
или в начале
так даже будет лутше
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
11.06.2021, 10:53
ну так вставьте счетчик, который увеличивается при каждом выводе
C++
1
2
3
4
5
6
7
    int count=1;
    Print(a, m);
    while (NextSet(a, n, m))
    {
        Print(a, m);
        count++;
    }
0
0 / 0 / 0
Регистрация: 10.06.2021
Сообщений: 7
11.06.2021, 11:03  [ТС]
можеш пожалуста вставить в програму ?
у меня чот не получаетса, програма сложновата.
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
11.06.2021, 11:07
Цитата Сообщение от zss Посмотреть сообщение
C++
1
2
3
Print(a, m);
 while (NextSet(a, n, m))
 Print(a, m);
Вот эти строки кода (37-39) надо заменить.

Неужели это не очевидно?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2021, 11:07
Помогаю со студенческими работами здесь

Вывести все сочетания из 5 по 3
Дан список из пяти человек упорядоченный в алфавитном порядке. Выдайте все способы отправить троих человек дежурить в столовую. Выводить...

В заданной строке вывести все четырёх символьные сочетания
Вывести все 4-х символьные сочетания, состоящие из символов заданной строки, удовлетворяющие заданным правилам их формирования. Правила...

Вывести все возможные варианты перестановок от 1 до n
Здравствуйте, у меня есть массив чисел от 1 до n, нужно чтобы выводились все возможные варианты перестановок по порядку, то есть для трёх...

Вывести все возможные варианты разреза трубы
Вводится длина трубы, количество заготовок (1, 2, 3, 4 ил 5), которые можно вырезать из трубы, и длина каждой заготовки. Вывести все...

Вывести все возможные комбинации размещения 6 объектов
Вывести все возможные комбинации размещения 6 объектов (1,2,3,4,5,6) по двум инстанциям, где один и тот же объект не может направляться в...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru