Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 25.10.2015
Сообщений: 12
1

Выписать все возможные размещения k из n предметов

23.10.2016, 16:30. Показов 5233. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано n предметов, каждый предмет имеет порядковый номер. Написать программу, которая выписывает все возможные
размещения k из n предметов (k<n).

Написать программу я смогу, вроде рекурсией пахнет, но сам алгоритм мне сложно дается. Есть у кого-нибудь идеи реализации?
Буду благодарен, если в ответе будет приложен код нашей рекурсивной функции.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2016, 16:30
Ответы с готовыми решениями:

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

Рекурсия: вывести все возможные размещения элементов массива
Дан массив char mas = { a, b, c, d, e, f, g, h, j, k }. Вывести на экран все возможные комбинации...

Перебор всех возможных способов размещения n различных предметов по m различным ящикам
Ребят, я на этом форуме не очень давно и хочу попросить помощи, Задача такого рода: написать...

Все возможные комбинации сочетания для размещения мусора
Есть предположим матрица областей 9 * 9. В каждой области может размещаться мусор. Сколько...

1
1494 / 1209 / 821
Регистрация: 29.02.2016
Сообщений: 3,614
24.10.2016, 17:50 2
Лучший ответ Сообщение было отмечено studentvip как решение

Решение

http://rosettacode.org/wiki/Combinations#C.2B.2B
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 <algorithm>
#include <iostream>
#include <string>
 
void comb(int N, int K)
{
    std::string bitmask(K, 1); // K leading 1's
    bitmask.resize(N, 0); // N-K trailing 0's
 
    // print integers and permute bitmask
    do {
        for (int i = 0; i < N; ++i) // [0..N-1] integers
        {
            if (bitmask[i]) std::cout << " " << i;
        }
        std::cout << std::endl;
    } while (std::prev_permutation(bitmask.begin(), bitmask.end()));
}
 
int main()
{
 
     comb(5, 3);
    return 0;
}
1
24.10.2016, 17:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2016, 17:50
Помогаю со студенческими работами здесь

Выписать в новую строку все цифры, за ними — все буквы
выписать в новую строку все цифры, за ними-все буквы, а потом-все оставшиеся символы данной строки....

Известна масса каждого из 12 предметов, определить общую массу всего набора предметов
известна масса каждого из 12 предметов определить общую массу всего набора предметов ?

Известна масса каждого из 12 предметов, определить общую массу всего набора предметов
Известна масса каждого из 12 предметов. Определить общую массу всего набора предметов.

Известна масса каждого из 12 предметов. Определить общую массу всего набора предметов
Известна масса каждого из 12 предметов. Определить общую массу всего набора предметов.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru