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

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

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

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

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

Вообщем такая задача: нужно написать программу, которая выводит на экран комбинации из 10ти элементов множества, тоесть "10!"
например:
А1={1}
A2={2}
A3={3}
A4={1,2}
A5={1,3}
и так для 10ти элементов, тоесть 3628802 комбинации
натолкните на мысль, с чего начать)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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++ по...

45
Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
13.09.2011, 15:56  [ТС] #16
Цитата Сообщение от alkagolik Посмотреть сообщение
компилятор, ошибку в студию
1
1>------ Построение начато: проект: 1, Конфигурация: Debug Win32 ------
1> 1.cpp
1>c:\users\breaknoise\documents\visual studio 2010\projects\1\1\1.cpp(12): error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream" (или приемлемое преобразование отсутствует)
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(1053): может быть "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &&,signed char *)" [найдено при поиске с зависимостью от аргументов]
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(1060): или "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &&,signed char &)" [найдено при поиске с зависимостью от аргументов]
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(1067): или "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &&,unsigned char *)" [найдено при поиске с зависимостью от аргументов]
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(1074): или "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &&,unsigned char &)" [найдено при поиске с зависимостью от аргументов]
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(1097): или "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char *)" [найдено при поиске с зависимостью от аргументов]
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(1104): или "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,signed char &)" [найдено при поиске с зависимостью от аргументов]
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(1111): или "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,unsigned char *)" [найдено при поиске с зависимостью от аргументов]
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(1118): или "std::basic_istream<_Elem,_Traits> &std::operator >><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &,unsigned char &)" [найдено при поиске с зависимостью от аргументов]
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(1128): или "std::basic_istream<_Elem,_Traits> &std::operator >><char,std::char_traits<char>,std::string>(std::basic_istream<_Elem,_Traits> &&,_Ty &)" [найдено при поиске с зависимостью от аргументов]
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Ty=std::string
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(179): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_istream<_Elem,_Traits> &(__cdecl *)(std::basic_istream<_Elem,_Traits> &))"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(185): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(192): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::ios_base &(__cdecl *)(std::ios_base &))"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(199): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::_Bool &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(218): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(short &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(253): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned short &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(272): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(int &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(298): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned int &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(316): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(long &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(334): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned long &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(354): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(__int64 &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(373): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(unsigned __int64 &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(392): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(float &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(411): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(double &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(429): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(long double &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(447): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(void *&)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files\microsoft visual studio 10.0\vc\include\istream(466): или "std::basic_istream<_Elem,_Traits> &std::basic_istream<_Elem,_Traits>::operator >>(std::basic_streambuf<_Elem,_Traits> *)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> при попытке сопоставить список аргументов "(std::istream, std::string)"
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
Миниатюры
Программа дискретная математика  
alkagolik
Заблокирован
13.09.2011, 17:39 #17
C++
1
#include<string>
Кстати не знал этой особенности. GCC компилирует без вопросов в рабочий бинарник включая только iostream.
0
Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
14.09.2011, 22:31  [ТС] #18
http://www.cyberforum.ru/attachment....1&d=1316025056 (
0
Миниатюры
Программа дискретная математика  
Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
16.09.2011, 19:51  [ТС] #19
что делать то?
0
alkagolik
Заблокирован
17.09.2011, 06:32 #20
выброси компьютер . юмор
не нравится
c:\program files\microsoft visual studio 10.0\vc\include\xstring
у меня такого файла тоже нету
смотри тут
смотри, работает. код
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
#include<iostream>
#include<string>
 
void Print(int *a, int n);
void Prints(std::string A, int n);
 
const int N = 10;
 
int main()
{
    int rang1, rang2 = 0, i = 0, a[N] ={1, 2, 3, 4, 5, 6, 7, 8, 9, 10} ;
    std::string A;
    std::cin >> A /*считываем скольугодно большое множество символов*/;
    //считаем количество символов в строке
    while(A[i]){
        ++rang2; ++i;
    }
    rang2 = 1 << rang2;
    rang1 = 1 << N;
    for (i = 0; i < rang1; i++)
        Print(a, i);
    for (i = 0; i < rang2; i++)
        Prints(A, i);
    return 0;
}
 
void Print(int *a, int n){
    int i = 0;
    while (n){
        if (n & 1) std::cout << a[i] << " ";
        i++;
        n >>= 1;
    }
    std::cout << "\n";
}
 
void Prints(std::string A, int n){
    int i = 0;
    while (n){
        if (n & 1) std::cout << A[i] << " ";
        i++;
        n >>= 1;
    }
    std::cout << "\n";
}
скрин
0
Миниатюры
Программа дискретная математика  
Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
17.09.2011, 09:14  [ТС] #21
Цитата Сообщение от alkagolik Посмотреть сообщение
выброси компьютер . юмор
не нравится

у меня такого файла тоже нету
ошибка вылетает после ввода значения в консоль. может на визуалку будет что-то по-другому?
когда нажимаю "пропустить" выводятся значения:
0
Миниатюры
Программа дискретная математика  
alkagolik
Заблокирован
17.09.2011, 16:36 #22
Цитата Сообщение от Breaknoise Посмотреть сообщение
может на визуалку будет что-то по-другому?
честно говоря не знаю, но следуя здравому смыслу так быть не должно, язык - то один для всех ОС. Есть товарищи кто с VS работает, может подскажет кто чего.
0
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.09.2011, 19:02 #23
Смотрю никак задача не решена, я же в самом начале топика базовый алгоритм прописал Сформулируйте ЧЕТКО задачу, напишу разбиения на подмножества на чистом Си, думаю с компиляцией не возникнет проблем.

Добавлено через 5 минут
Держите вариант с вводимой строкой:

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
#include <stdio.h>
#include <string.h>
#define N 1000
 
void Print(char *a, int n)
{
   int i = 0;
   while (n)
   {
       if (n & 1)
          printf("%c ", a[i]);
       i++;
       n >>= 1;
   }
   printf("\n");
}
 
int main()
{
   int r, i;
   char a[N];
   puts("Enter a string:");
   scanf("%s", a);
   r = 1 << strlen(a);
   for (i = 0; i < r; i++)
      Print(a, i);
   return 0;
}
0
Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
21.09.2011, 22:30  [ТС] #24
Четкая задача:
Пользователь должен ввести значения через запятую от 1 до 10 значений включительно. Программа должна вывести все возможные комбинации этих значений.
Например: пользователь вводит значения "1", "2", "3".
На экране:
{1} {2} {3} {1,2} {1,3} {2,3} {1,2,3}
0
Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
21.09.2011, 22:36  [ТС] #25
Цитата Сообщение от Thinker Посмотреть сообщение
Смотрю никак задача не решена, я же в самом начале топика базовый алгоритм прописал Сформулируйте ЧЕТКО задачу, напишу разбиения на подмножества на чистом Си, думаю с компиляцией не возникнет проблем.

Добавлено через 5 минут
Держите вариант с вводимой строкой:

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
#include <stdio.h>
#include <string.h>
#define N 1000
 
void Print(char *a, int n)
{
   int i = 0;
   while (n)
   {
       if (n & 1)
          printf("%c ", a[i]);
       i++;
       n >>= 1;
   }
   printf("\n");
}
 
int main()
{
   int r, i;
   char a[N];
   puts("Enter a string:");
   scanf("%s", a);
   r = 1 << strlen(a);
   for (i = 0; i < r; i++)
      Print(a, i);
   return 0;
}
я, к сожалению, тут многое не понимаю.
Точнее это:
Print(), *а, printf, "%c ", puts(), strlen(), %s

я этих функций пока не учил и не знаю
выводит что-то непонятное:

0
Миниатюры
Программа дискретная математика  
alkagolik
Заблокирован
21.09.2011, 23:48 #26
Цитата Сообщение от Breaknoise Посмотреть сообщение
я этих функций пока не учил и не знаю
а ты вообще что-то читал? вроде как все книги начинаются с ввода\вывода (scanf()\printf()). Открой что - то по языку Си, и начни читать, а главное писать программы. функция Print() самописная, строки 5 - 16.
выводит что-то непонятное
выводит булеан множества {"a", " . ", "c"}. Если непонятна какая-то функция, копируешь ее, вставляешь в поисковик и вперед (если она стандартная)
0
Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
22.09.2011, 08:06  [ТС] #27
Цитата Сообщение от alkagolik Посмотреть сообщение
а ты вообще что-то читал? вроде как все книги начинаются с ввода\вывода (scanf()\printf()). Открой что - то по языку Си, и начни читать, а главное писать программы. функция Print() самописная, строки 5 - 16.

выводит булеан множества {"a", " . ", "c"}. Если непонятна какая-то функция, копируешь ее, вставляешь в поисковик и вперед (если она стандартная)
да, прочитал пол книжки Шилдт "C++. Руководство для начинающих"
0
alkagolik
Заблокирован
22.09.2011, 15:41 #28
Цитата Сообщение от Breaknoise Посмотреть сообщение
да, прочитал пол книжки Шилдт "C++. Руководство для начинающих"
тут программа на Си, перепиши ввод\вывод на с++. стандартные функции поищи в поиске и найдешь к ним описание. функция strlen() есть и в с++, ищи тут
0
lavengerl
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 77
04.12.2011, 21:58 #29
Помогите сделать эту программу) Нужно на дискретную математику... Тут алгоритм нужен жестокий какой-то. Беспонятия как ее написать. Задача точно такая же как у автора.

Пользователь должен ввести значения через запятую от 1 до 10 значений включительно. Программа должна вывести все возможные комбинации этих значений.
Например: пользователь вводит значения "1", "2", "3".
На экране:
{1} {2} {3} {1,2} {1,3} {2,3} {1,2,3}
0
Thinker
Эксперт С++
4226 / 2200 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
04.12.2011, 22:08 #30
Достаточно ввести количество первых элементов из множества {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
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
#include<stdio.h>
#define N 10
 
void Print(int *a, int n)
{
   int i = 0;
   while (n)
   {
       if (n & 1)
          printf("%d ", a[i]);
       i++;
       n >>= 1;
   }
   putchar('\n');
}
 
int main()
{
   int n, r, i, a[N] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
   printf("n = ");
   scanf("%d", &n);
   r = 1 << n;
   for (i = 0; i < r; i++)
      Print(a, i);
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2011, 22:08
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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