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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Newbie545
0 / 0 / 0
Регистрация: 17.06.2009
Сообщений: 6
#1

Подмножества указанной длины в множестве - C++

17.06.2009, 14:52. Просмотров 1076. Ответов 4
Метки нет (Все метки)

Прошу помочь мне, задача состоит в том, чтобы вывести на экран все подмножества длиной k, множества n. k<=n

в заранее благодарен
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2009, 14:52     Подмножества указанной длины в множестве
Посмотрите здесь:

C++ Напечатать все подмножества множества {1...k}
C++ подмножества
C++ подмножества и множества
C++ Разбиение произвольного текста на строки указанной длины
разбиение на подмножества C++
C++ Сгенерировать все k -элементные подмножества из N
множества подмножества C++
Создать функцию, которая будет выводить указанный массив указанной длины на экран C++
C++ Сортировка указанного массива указанной длины любым известным методом (функция)
C++ Сравнить два подмножества в матрице
C++ Перечислить все подмножества n элементного множества {1,2,.,n}
C++ Из элементов массива А длины 2N получить массивы В и С длины N указанным способом

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
17.06.2009, 17:06     Подмножества указанной длины в множестве #2
вывести на экран все подмножества длиной k, множества n. k<=n

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
44
45
46
47
48
49
50
51
52
53
#include <algorithm>
#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>
#include <boost/lambda/algorithm.hpp>
#include <boost/function.hpp>
#include <boost/next_prior.hpp>
#include <iostream>
#include <locale>
 
template <typename T, const size_t N>
inline size_t array_count(const T (&)[N])
{ return (N); }
 
template <typename T>
void print_all_sequences(const T* arr, const size_t N, size_t length)
{
    namespace lm = boost::lambda;
    namespace ll = lm::ll;
    typedef typename std::allocator<T>::const_pointer iterator;
    boost::function<void (iterator, iterator)> f = 
        lm::bind(ll::for_each(), lm::_1, lm::_2,
        lm::protect(std::cout << lm::_1 << lm::constant(" ")));
 
    std::cout << "Все последовательности длиной " << length << ": ";
    iterator curr = &arr[0], next;
    for(; (next = std::adjacent_find(curr, arr+N, lm::_1 != lm::_2)) != arr+N;
        std::advance(curr = next, 1))
    {
        const size_t curr_length = std::distance(curr, next) + 1;
        if (curr_length == length)
            f(curr, boost::next(next)), std::cout << "| ";      
        std::advance(curr = next, 1);
    }
 
    const size_t last_length = std::distance(curr, next);
    if (last_length == length)
        f(curr, next);
    std::cout << std::endl;
}
 
int main()
{
    setlocale(LC_ALL, "");
    int arr[] = {1,1,2,2,3,3,3,4,4,4,4,-1,-2,-2,-3,-3, -4,-4,-4,-4};
    const int N = array_count(arr);
 
    print_all_sequences(arr, N, 1);
    print_all_sequences(arr, N, 2);
    print_all_sequences(arr, N, 3);
    print_all_sequences(arr, N, 4);
 
    return 0;
}
Вывод программы:
Все последовательности длиной 1: -1 |
Все последовательности длиной 2: 1 1 | 2 2 | -2 -2 | -3 -3 |
Все последовательности длиной 3: 3 3 3 |
Все последовательности длиной 4: 4 4 4 4 | -4 -4 -4 -4
Newbie545
0 / 0 / 0
Регистрация: 17.06.2009
Сообщений: 6
21.06.2009, 18:18  [ТС]     Подмножества указанной длины в множестве #3
прошу меня простить, возможно некорректно выложил задание .....
например множество длины 5 {1,2,3,4,5}
идёт запрос, какой длины вывести подмножества, например 4, программа должна выдать
{1,2,3,4}
{1,2,3,5}
{1,2,4,5}
{1,3,4,5}
{2,3,4,5}
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
21.06.2009, 23:03     Подмножества указанной длины в множестве #4
support - платный (((Ж
Newbie545
0 / 0 / 0
Регистрация: 17.06.2009
Сообщений: 6
22.06.2009, 15:34  [ТС]     Подмножества указанной длины в множестве #5
Цитата Сообщение от Rififi Посмотреть сообщение
support - платный (((Ж
мир не справедлив, хотя радует одно, в реале человек помог, но всё равно спасибо @}->--
Yandex
Объявления
22.06.2009, 15:34     Подмножества указанной длины в множестве
Ответ Создать тему
Опции темы

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