С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 24.06.2016
Сообщений: 143
1

Перечислить все K элементные подмножества n элементарного множества

25.11.2016, 09:24. Показов 2124. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Перечислить все K элементные подмножества n элементарного множества
пример с вводом выводом
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2016, 09:24
Ответы с готовыми решениями:

Сгенерировать все подмножества данного n-элементного множества {0,., n-1}
Сгенерировать все подмножества данного n-элементного множества {0,.., n-1} нашел алгоритм для этой...

Разработать программу, которая генерирует все k-элементные подмножества множества n
Разработать алгоритм генерации всех k-элементов подмножества n-элементного множества в...

Перечислить все вложения множества {1..k} в {1..n}
За огромное спасибо, помогите разобраться с заданием и написать программу: Перечислить все...

Рекурсия: вывести все подмножества множества А
С клавиатуры вводится множество А, состоящее из символов число которых не превышает 10 (1 символ= 1...

2
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
25.11.2016, 16:06 2
Лучший ответ Сообщение было отмечено Mud как решение

Решение

Например рекурсивный вариант.
Pascal
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
const n1=20; {Максимальная размерность множества!}
type vector=array[1..n1] of integer;
var a:vector;
    n,k:integer;
procedure cnk(m,l:integer);
var i:integer;
begin
if m=0 then
 begin
  write('{');
  for i:=1 to k do write(a[i]:4);
  write ('} ');
  writeln;
 end
else
for i:=l to n-m+1 do
  begin
   a[k-m+1]:=a[i];
   cnk(m-1,i+1)
  end ;
end;
var i:integer;
    mn:set of byte;
begin
repeat
 writeln ('Введите 0<K<=N<=',n1);
 readln(n,k);
until(k>0)and(k<=n)and(n<=n1);
writeln('Введите ',n,' разных чисел из диапазона [0..255]');
mn:=[];
for i:=1 to n do
 begin
  repeat
  write('a[',i,']=');
  readln(a[i]);
  until(a[i] in [0..255])and not(a[i] in mn);
  mn:=mn+[a[i]];
 end;
cls;  //очистка экрана
writeln('Исходное множество');
for i:=1 to n do
write(a[i]:4);
writeln;
writeln ('Подмножества из ',n,' по ',k);
cnk(k,1);
end.
0
12 / 11 / 5
Регистрация: 30.11.2017
Сообщений: 76
11.11.2018, 19:08 3
A можно поинтересоваться зачем в процедуре переменная L?
0
11.11.2018, 19:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2018, 19:08
Помогаю со студенческими работами здесь

Для заданного N напечатать все подмножества множества
Для заданного N напечатать все подмножества множества . Найти их количество. Помогите...

Перечислить все K элементные подмножества n элементарного множества
Перечислить все K элементные подмножества n элементарного множества пример и объяснение по этой...

Перечислить все K элементные подмножества n элементного множества
Например: есть множество 1, 2, 3 N=3, k=2, на выводе должны получить: 1 2 1 3 2 3

Задача, сгенерировать все k-элементные подмножества множества
Нужна помощь с задачей, нужно решить с циклами или как то по другом, но не каких рекурсий тд. тп,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru