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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.63
Breaknoise
 Аватар для Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
10.09.2011, 21:04     Программа дискретная математика #1
Вообщем такая задача: нужно написать программу, которая выводит на экран комбинации из 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++ С++ и математика
Математика и С++ C++
C++ дискретная математика
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.09.2011, 21:29     Программа дискретная математика #2
Цитата Сообщение от Breaknoise Посмотреть сообщение
Вообщем такая задача: нужно написать программу, которая выводит на экран комбинации из 10ти элементов множества, тоесть "10!"
например:
А1={1}
A2={2}
A3={3}
A4={1,2}
A5={1,3}
и так для 10ти элементов, тоесть 3628802 комбинации
натолкните на мысль, с чего начать)
А не 2^10? Если вам нужны все подмножества n-элементного множества, то их ровно 2^n.
А если вам нужны размещения, то почему у вас странный пример дается
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
10.09.2011, 21:33     Программа дискретная математика #3
не знаю откуда такая цифра взялась, но для множеств A1, A2, A3 ответ очевиден, т.е. равен 1, а для остальных http://www.cyberforum.ru/cgi-bin/latex.cgi?m^{n}=2^{10}
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.09.2011, 21:43     Программа дискретная математика #4
Если нужны все подмножества множества {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
#include<iostream>
 
const int N = 10;
 
void Print(int *a, int n)
{
   int i = 0;
   while (n)
   {
       if (n & 1)
          std::cout << a[i] << " ";
       i++;
       n >>= 1;
   }
   std::cout << "\n";
}
 
int main()
{
   int r, i, a[N] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
   r = 1 << N;
   for (i = 0; i < r; i++)
      Print(a, i);
   return 0;
}
Если что другое, то поясните только
Breaknoise
 Аватар для Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
10.09.2011, 22:21  [ТС]     Программа дискретная математика #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
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
54
55
56
57
58
59
60
61
62
63
#include <iostream> 
#include <conio.h>
#include <clocale>
#include <windows.h> 
using namespace std; 
 
void gotoxy(int xpos, int ypos)
{
  COORD scrn;    
 
  HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE);
 
  scrn.X = xpos; scrn.Y = ypos;
 
  SetConsoleCursorPosition(hOuput,scrn);
}
 
 
int main()
{
 setlocale(LC_CTYPE, "");
char x1, x2, x3, x4, x5, x6, x7, x8, x9, x10;
cout << "Введите элементы множества A от 1 до 10 одним символом (например \"a\"):\n\n" << "A = {";
for(;;){
do{
cin >> x1;
 gotoxy(6,2);
 cout << ";";
 cin >> x2;
  gotoxy(8,2);
   cout << ";";
 cin >> x3;
 gotoxy(10,2);
    cout << ";";
  cin >> x4;
 gotoxy(12,2);
    cout << ";";
  cin >> x5;
 gotoxy(14,2);
    cout << ";";
  cin >> x6;
 gotoxy(16,2);
    cout << ";";
  cin >> x7;
 gotoxy(18,2);
    cout << ";";
  cin >> x8;
 gotoxy(20,2);
    cout << ";";
  cin >> x9;
 gotoxy(22,2);
    cout << ";";
  cin >> x10;
 gotoxy(24,2);
    cout << ";";
 cout << "}\n\n";
} while (x1 !='q');
if (x1 =='q') break;
}
 cout << "Булеан 2^A = {A1,...A8}";
 getch(); 
 return 0; 
}
хочу чтобы, например, после ввода 'q' - инструкция завершалась, а она не завершается, почему-то (
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
10.09.2011, 22:48     Программа дискретная математика #6
попробуй убрать локаль. цикл for не нужен
Breaknoise
 Аватар для Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
11.09.2011, 00:16  [ТС]     Программа дискретная математика #7
все, получилось!) вот полная задача, может кому будет интересно:

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <iostream> 
#include <conio.h>
#include <clocale>
#include <windows.h> 
using namespace std; 
 
void gotoxy(int xpos, int ypos)
{
  COORD scrn;    
 
  HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE);
 
  scrn.X = xpos; scrn.Y = ypos;
 
  SetConsoleCursorPosition(hOuput,scrn);
}
 
 
int main()
{
 setlocale(LC_CTYPE, "");
char x1, x2, x3, x4, x5, x6, x7, x8, x9, x10;
int t;
 
 
cout << "Введите элементы множества A от 1 до 10 одним символом (например \"a\")\n(введите \"q\" для продолжения):\n" << "A = {";
for(t=0;t<1;t++){
cin >> x1;
if (x1 == 'q') break;
 gotoxy(6,2);
 cout << ";";
 cin >> x2;
 if (x2 == 'q') break;
  gotoxy(8,2);
   cout << ";";
 cin >> x3;
 if (x3 == 'q') break;
 gotoxy(10,2);
    cout << ";";
     cin >> x4;
     if (x4 == 'q') break;
 gotoxy(12,2);
    cout << ";";
     cin >> x5;
     if (x5 == 'q') break;
 gotoxy(14,2);
    cout << ";";
     cin >> x6;
     if (x6 == 'q') break;
 gotoxy(16,2);
    cout << ";";
     cin >> x7;
     if (x7 == 'q') break;
 gotoxy(18,2);
    cout << ";";
     cin >> x8;
     if (x8 == 'q') break;
 gotoxy(20,2);
    cout << ";";
     cin >> x9;
     if (x9 == 'q') break;
 gotoxy(22,2);
    cout << ";";
     cin >> x10;
     if (x10 == 'q') break; 
} 
gotoxy(24,2);
cout << "}\n\n";
if (x1 == 'q') cout << "Булеан 2^A = {А1, A2}";
if (x1 != 'q' && x2 == 'q') cout << "Булеан 2^A = {А1, A2, A3}";
if (x1 != 'q' && x2 != 'q' && x3 =='q') cout << "Булеан 2^A = {А1, A2, A3, A4, A5}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 == 'q') cout << "Булеан 2^A = {А1, A2, A3, A4, A5, A6, A7, A8}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 != 'q' && x5 == 'q') cout << "Булеан 2^A = {А1,..A26}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 != 'q' && x5 != 'q' && x6 == 'q') cout << "Булеан 2^A = {А1,..A122}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 != 'q' && x5 != 'q' && x6!= 'q' && x7 == 'q') cout << "Булеан 2^A = {А1,..A722}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 != 'q' && x5 != 'q' && x6!= 'q' && x7 != 'q' && x8 == 'q') cout << "Булеан 2^A = {А1,..A5042}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 != 'q' && x5 != 'q' && x6!= 'q' && x7 != 'q' && x8 != 'q' && x9 == 'q') cout << "Булеан 2^A = {А1,..A40322}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 != 'q' && x5 != 'q' && x6!= 'q' && x7 != 'q' && x8 != 'q' && x9 != 'q' && x10 == 'q') cout << "Булеан 2^A = {А1,..A362882}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 != 'q' && x5 != 'q' && x6!= 'q' && x7 != 'q' && x8 != 'q' && x9 != 'q' && x10 != 'q') cout << "Булеан 2^A = {А1,..A3628802}";
 getch(); 
 return 0; 
}
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
11.09.2011, 01:32     Программа дискретная математика #8
во-первых сделай массив
C++
1
char x[10+1/*символ конца строки*/]
и заполнять и проверять и все остальное стало возможно с помощью цикла
это же ужас
C++
1
2
3
4
5
6
7
8
9
10
11
12
if (x1 == 'q') cout << "Булеан 2^A = {А1, A2}";
if (x1 != 'q' && x2 == 'q') cout << "Булеан 2^A = {А1, A2, A3}";
if (x1 != 'q' && x2 != 'q' && x3 =='q') cout << "Булеан 2^A = {А1, A2, A3, A4, A5}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 == 'q') cout << "Булеан 2^A = {А1, A2, A3, A4, A5, A6, A7, A8}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 != 'q' && x5 == 'q') cout << "Булеан 2^A = {А1,..A26}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 != 'q' && x5 != 'q' && x6 == 'q') cout << "Булеан 2^A = {А1,..A122}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 != 'q' && x5 != 'q' && x6!= 'q' && x7 == 'q') cout << "Булеан 2^A = {А1,..A722}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 != 'q' && x5 != 'q' && x6!= 'q' && x7 != 'q' && x8 == 'q') cout << "Булеан 2^A = {А1,..A5042}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 != 'q' && x5 != 'q' && x6!= 'q' && x7 != 'q' && x8 != 'q' && x9 == 'q') cout << "Булеан 2^A = {А1,..A40322}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 != 'q' && x5 != 'q' && x6!= 'q' && x7 != 'q' && x8 != 'q' && x9 != 'q' && x10 == 'q') cout << "Булеан 2^A = {А1,..A362882}";
if (x1 != 'q' && x2 != 'q' && x3 !='q' && x4 != 'q' && x5 != 'q' && x6!= 'q' && x7 != 'q' && x8 != 'q' && x9 != 'q' && x10 != 'q') cout << "Булеан 2^A = {А1,..A3628802}";
 getch();
короче я код удалил свой. вообще не могу понять чего там делает твоя программа.
Breaknoise
 Аватар для Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
11.09.2011, 10:57  [ТС]     Программа дискретная математика #9
все таки не то написал, что надо было (
вот пример, что надо было сделать http://ffkr.org/afisha/dr/
как это реализовать на С++?
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
11.09.2011, 13:43     Программа дискретная математика #10
Цитата Сообщение от Breaknoise Посмотреть сообщение
вот пример, что надо было сделать http://ffkr.org/afisha/dr/
как можно судить о правильности программы, если даже неизвестно что она должна выполнять? сформулируй наконец четкий вопрос, выложи техническое задание.
Breaknoise
 Аватар для Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
11.09.2011, 18:47  [ТС]     Программа дискретная математика #11
Цитата Сообщение от alkagolik Посмотреть сообщение
как можно судить о правильности программы, если даже неизвестно что она должна выполнять? сформулируй наконец четкий вопрос, выложи техническое задание.
Программа должна выводить подмножества некоего множества "А", которое содержат вводимые элементы, а так же выводить булеан множества, которое содержит от 1 до 10 элементов

http://www.cyberforum.ru/attachment....1&d=1315752396
Миниатюры
Программа дискретная математика  
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
11.09.2011, 19:15     Программа дискретная математика #12
Цитата Сообщение от Breaknoise Посмотреть сообщение
все, получилось!) вот полная задача, может кому будет интересно:
Ваша программа слишком громоздка и не универсальна. Посмотрите на 4 пост. Подходит для любого случая. Исправить надо самую малость.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
11.09.2011, 21:22     Программа дискретная математика #13
Цитата Сообщение от Breaknoise Посмотреть сообщение
Программа должна выводить подмножества некоего множества "А", которое содержат вводимые элементы, а так же выводить булеан множества, которое содержит от 1 до 10 элементов
Ну так с этого и стоило начинать разговор, а то в первом посте вообще поди разберись что за лабуда написана. Thinker написал что тебе надо, позволю себе для тебя дописать его
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
#include<iostream>
 
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";
}
Breaknoise
 Аватар для Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
13.09.2011, 09:16  [ТС]     Программа дискретная математика #14
Цитата Сообщение от alkagolik Посмотреть сообщение
Ну так с этого и стоило начинать разговор, а то в первом посте вообще поди разберись что за лабуда написана. Thinker написал что тебе надо, позволю себе для тебя дописать его
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
#include<iostream>
 
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";
}
ошибку выдает...
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
13.09.2011, 13:54     Программа дискретная математика #15
Цитата Сообщение от Breaknoise Посмотреть сообщение
ошибку выдает...
компилятор, ошибку в студию
Breaknoise
 Аватар для 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 ==========
Миниатюры
Программа дискретная математика  
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
13.09.2011, 17:39     Программа дискретная математика #17
C++
1
#include<string>
Кстати не знал этой особенности. GCC компилирует без вопросов в рабочий бинарник включая только iostream.
Breaknoise
 Аватар для Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
14.09.2011, 22:31  [ТС]     Программа дискретная математика #18
http://www.cyberforum.ru/attachment....1&d=1316025056 (
Миниатюры
Программа дискретная математика  
Breaknoise
 Аватар для Breaknoise
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 55
16.09.2011, 19:51  [ТС]     Программа дискретная математика #19
что делать то?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2011, 06:32     Программа дискретная математика
Еще ссылки по теме:

C++ Дискретная математика
C++ Дискретная математика. Класс-Группа:множество+бинарная операция
C++ Задачи на C/C++. Дискретная математика. Посоветуйте книги (сайты)

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

Или воспользуйтесь поиском по форуму:
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
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";
}
скрин
Миниатюры
Программа дискретная математика  
Yandex
Объявления
17.09.2011, 06:32     Программа дискретная математика
Ответ Создать тему
Опции темы

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