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

разбиение на подмножества - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача на энтропию http://www.cyberforum.ru/cpp-beginners/thread661121.html
Условие: Оценить энтропию информации: угадывании месяца или дня рождения трех незнакомых вам студентов Если можно, в развернутом виде, пожалуйста. Заранее спасибо.
C++ Палиндром в двумерном массиве Задача звучит так :С клавиатуры вводится размерность целочисленной матрицы, затем сама матрица. Найти строку, порядок элементов которой наиболее соответствует полиндрому. С первой частью справился.теперь помощь нужна нахождения палиндрома.Буду признателен любой помощи ) #include "stdafx.h" #include <iostream> #include <iomanip> http://www.cyberforum.ru/cpp-beginners/thread661114.html
C++ Дано число года n. Найдите количество дней того года
1) Даны три действительных числа x, y, z. Пусть программа выдаст мин и макс их значения. Сначала выведет минимум, потом максимум. 2) Даны 3 положительных действительных числа x, y, z. Пусть программа выдаст "ДА", если возможно построить треугольник с длинами сторон x, y, z. "НЕТ" иначе. 3) Дано число года n. Найдите количество дней того года. 4) Даны три натуральных числа a, b, c, которые...
Как поделить многочлен на многочлен C++
ребят даны два многочлена вида x^5+x^4+x^3+x^2+x+1 x^2+x+1 как програмнно поделить
C++ Условие http://www.cyberforum.ru/cpp-beginners/thread661075.html
Помогите составить условие: if (0=pow(x,s)+1) Выдаёт: error: lvalue required as left operand of assignment
C++ Разложение числа на различные цифры хотелось бы, чтобы программа работала так : я ввожу число 16536. она в ответ мне выдает : 1 3 5 6. я пробовал тут. #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; void main() { int a,b,c,d,i; cout<<"please enter the number"<<endl; подробнее

Показать сообщение отдельно
DiffEreD
1427 / 764 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
01.10.2012, 12:39     разбиение на подмножества
Один из возможных способов решения данной задачи:
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
#include <iostream>
#include <set>
#include <sstream>
#include <algorithm>
#include <Windows.h>
using namespace std;
 
int main()
{
    int ints[10] = {0,1,2,3,4,5,6,7,8,9};
    const int n = 3;
    const int compare = 15;
    set<string> sstr;
    stringstream ss;
    int i, sum = 0;
    do 
    {
        for (i = 0; i<n; i++) // определяем сумму первых n элементов
            sum+=ints[i];
        if (sum == compare) 
        {
            for (i = 0; i<n; i++)
                ss<<ints[i]; // закидываем последовательность n єлементов в stringstream
            sstr.insert(ss.str()); // вставляем в множество 
            ss.str(""); // очищаем stringstream
        }
        sum = 0;
    } while (next_permutation(ints, ints+10));
    for (auto const& x:sstr) // выводим наши последоватьльности чисел
    {
        for (auto const& y:x)
            cout<<y<<" ";
        cout<<" = "<<compare<<endl;
    }
    system("pause");
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru