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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.63
Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
#1

Программа дискретная математика - C++

10.09.2011, 21:04. Просмотров 3188. Ответов 45
Метки нет (Все метки)

Вообщем такая задача: нужно написать программу, которая выводит на экран комбинации из 10ти элементов множества, тоесть "10!"
например:
А1={1}
A2={2}
A3={3}
A4={1,2}
A5={1,3}
и так для 10ти элементов, тоесть 3628802 комбинации
натолкните на мысль, с чего начать)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2011, 21:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа дискретная математика (C++):

Дискретная математика - C++
Здравствуйте! Помогите с зачетным задание! Вот оно: Дано несколько вершин, количество которых необходимо указать вручную и которые...

Дискретная математика - C++
Есть три программы по дискретной математике. Выложу сюда. Может кому-то пригодиться. До конца семестра думаю будет еще 1-2 по...

дискретная математика - C++
Применение дискретной математики в системах автоматизаций???

Дискретная математика - C++
Кароч парни не знаю как обьяснить......кароч есть число обозначим n,и есть k количество клеток на которые его нужно розбить.Так вот привожу...

Дискретная математика. Графы - C++
Задание: Разработать алгоритм решения задачи (согласно приведенной таблице заданий) и соответствующую программу на языке высокого уровня...

Задачи на C/C++. Дискретная математика. Посоветуйте книги (сайты) - C++
Здравствуйте У Меня к Вам вопрос Кто-нибудь может посоветовать учебник (саит) где можно найти решение,алгоритм задач на C/C++ по...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
04.12.2011, 22:14 #31
А что значит
C++
1
n>>=1
и
C++
1
if(n&1)
?
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
04.12.2011, 22:16 #32
n >>= 1 (целая часть при делении на 2, сдвиг всех бит на 1 позицию вправо)
n & 1 (значение последнего (младшего) бита числа n)
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
04.12.2011, 22:35 #33
То есть, другими словами (в десятичной системе счисления)
C++
1
%10
?
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
04.12.2011, 22:39 #34
Цитата Сообщение от AncinetHero Посмотреть сообщение
То есть, другими словами (в десятичной системе счисления)
C++
1
%10
?
В двоичной системе n&1 как n%10 в десятичной системе
lavengerl
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 77
04.12.2011, 23:02 #35
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
#include<stdio.h>
#include<fstream>
#include<iostream>
#define N 15
using namespace std;
 ofstream File("ajaja.txt");
void Print(int *a, int n)
{
   cout<<"{";
   int i = 0;
   while (n)
   {
       if (n & 1)
          cout<<a[i]<<",";
          File<<a[i];
       i++;
       n >>= 1;
   }
   cout<<"}\n";
   File<<"\n";
}
 
int main()
{
    
   int n, r, i, a[N] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
   cout<<"n = ";
   cin>>n;
   r = 1 << n;
   for (i = 0; i < r; i++)
      Print(a, i);
    system("pause");
        return 0;
}
немножко хотел переделдать. Сделал чтобы в файл выводился весь результат, ато если 15-оазмерное множество, то в консоль даже его малая часть не влезет.
но в файл выводится какая-то ерунда. при том что выведение на экран и в файл идут рядом, на экране правильный результат, а в файле вот такоедля 4-х)

1
12
12
123
123
123
123
1234
1234
1234
1234
1234
1234
1234
1234
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
04.12.2011, 23:04 #36
C++
1
2
3
4
5
if (n & 1)
{
          cout<<a[i]<<",";
                  File<<a[i];
}
lavengerl
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 77
04.12.2011, 23:11 #37
Да недосмотрел, спасибо.
lavengerl
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 77
04.12.2011, 23:34 #38
Еще 2 лабораторная, если можете помочь. Задача похожая, но нужно сделать разбитие не на комбинации как тут а на возможные подмножества, как вот на примере: Есть множество (1,2,3,4,5,6)
Миниатюры
Программа дискретная математика  
lavengerl
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 77
05.12.2011, 00:07 #39
помогите плиз
alkagolik
Заблокирован
05.12.2011, 00:17 #40
пример на рисунке вы сами писали? спрашиваю потому что программы этого топика итак разбивают множество на подмножества. Покажите дословно задание.
lavengerl
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 77
05.12.2011, 00:36 #41
Вот задание, только в нем ничего не ясно)
Миниатюры
Программа дискретная математика   Программа дискретная математика  
lavengerl
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 77
05.12.2011, 00:37 #42
Отсюда простой рекуррентный метод генерирования всех разбиений: если имеем список Ln-1 всех разбиений множества, то список Ln всех разбиений множества можно образовать, заменяя каждое разбиение в списке Ln-1 на соответствующую ему последовательность разбиений, полученную за счет введения элемента n.

Добавлено через 1 минуту
насколько я понимаю, то нужно все возможные комбинации обьединений маленьких множеств вывести..
alkagolik
Заблокирован
05.12.2011, 01:04 #43
это разбить множество в 13 элементов на все возможные из 7 подмножеств? перед таблицей текст есть?

Добавлено через 1 минуту
а все возможные подмножества множества количеством n <= 10 элементов тут
lavengerl
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 77
05.12.2011, 01:07 #44
Текст что перед таблицей я написал. Про t, которое в таблице нислова нету)) Видимо именно это размерность подмножеств..

Добавлено через 1 минуту
Я ту прогу видел. она именно дает все возможные. А мне нужно по кучкам их, чтоб несколько из них составляли все множество. Такими групками вывести как-то....
alkagolik
Заблокирован
05.12.2011, 01:12 #45
ща придумаем что-то
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2011, 01:12
Привет! Вот еще темы с ответами:

Дискретная математика. Класс-Группа:множество+бинарная операция - C++
Здравствуйте, помогите пожалуйста. Начали изучать дискретку и как-то тяжело в начале это понять. Помогите пожалуйста разобраться в задании....

Математика и С++ - C++
Всем здрасте,сразу скажу что не знал куда написать. Изучяю сейчас С++, и собираюсь (в будущем) занятся написанием игр, от самый простых...

с++ и математика - C++
Здравствуйте. Как написать на си это?

С++ и математика - C++
Необходимо составить программу вычисления значения функций при различных значениях аргументов, заданных интервалом изменения и величиной...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.12.2011, 01:12
Ответ Создать тему
Опции темы

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