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

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

Войти
Регистрация
Восстановить пароль
 
studentvip
0 / 0 / 0
Регистрация: 25.10.2015
Сообщений: 10
#1

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

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

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

Написать программу я смогу, вроде рекурсией пахнет, но сам алгоритм мне сложно дается. Есть у кого-нибудь идеи реализации?
Буду благодарен, если в ответе будет приложен код нашей рекурсивной функции.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2016, 16:30     Выписать все возможные размещения k из n предметов
Посмотрите здесь:
Рекурсия: вывести все возможные размещения элементов массива C++
5.40 Известна масса каждого из 12 предметов. Определить общую массу все¬го набора предметов C++
C++ Перебор всех возможных способов размещения n различных предметов по m различным ящикам
C++ известна масса каждого из 12 предметов определить общую массу всего набора предметов ?
В массиве хранится сведения о стоимости 12 различных предметов. определить общую стоимость всех предметов? C++
Сделать так, что бы в общем балле отображался сумма, складываемых 4 предметов и деленный на тот же количество предметов C++
Выписать все перестановки без повторений C++
выписать все натуральные числа,взаимно простые с m, из отрезка [1;m-1] C++
C++ По данному натуральному числу выписать все двоичные последовательности
Выписать все четные элементы массива и переписать их в другой массив C++
C++ Дана матрица как выписать все элементы матрицы,находящиеся выше главной диагонали?
В новый динамический массив выписать все элементы массива, которые делятся на заданное число C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
afront
793 / 755 / 285
Регистрация: 29.02.2016
Сообщений: 2,404
24.10.2016, 17:50     Выписать все возможные размещения k из n предметов #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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;
}
Yandex
Объявления
24.10.2016, 17:50     Выписать все возможные размещения k из n предметов
Ответ Создать тему
Опции темы

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