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

Подмножества множества (как работает программа?) - C++

Восстановить пароль Регистрация
 
4er1p
0 / 0 / 0
Регистрация: 16.12.2012
Сообщений: 3
16.12.2012, 01:46     Подмножества множества (как работает программа?) #1
Есть код, который выводит подмножества множества. Объясните, если можно поподробнее, как всё в этой програмке работает, за что какие части кода отвечают. Спасибо


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 <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
 
void fun(int N, int m, int tek, int k, string tekS)
{
 if(tek>=m)
  {
   cout<<tekS<<endl;
   return;
  }
 for(int i=k+1; i<=N; i++)
  fun(N,m,tek+1,i,tekS+(char)(i+48));
 
}
 
int main()
{
int N;
cout<<"Enter N: ";
cin>>N;
for(int i=1;i<=N;i++)
 fun(N,i,0,0,"");
 
getch();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2012, 01:46     Подмножества множества (как работает программа?)
Посмотрите здесь:

Как работает программа C++
C++ Напечатать все подмножества множества {1...k}
C++ подмножества и множества
Как работает программа C++
Как можно получить все подмножества множества? C++
C++ С числовой множества A мощности n выбрать все подмножества, сумма элементов каждого из которых лежит в пределах от a до b
C++ Ошибка в коде. Из числового множества A мощности n выбрать все подмножества
Найти все возможные подмножества из данного множества C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
16.12.2012, 02:08     Подмножества множества (как работает программа?) #2
Здесь используется рекурсивный вызов функции fun() она формирует вот такую последовательность
Enter N: 3
1
2
3
12
13
23
123
Причем, работает это пока, tek >= m;
tekS+(char)(i+48) - печатает цифры (ASCII коды)
Остальное вроде очевидно.
Yandex
Объявления
16.12.2012, 02:08     Подмножества множества (как работает программа?)
Ответ Создать тему
Опции темы

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