| 
| 
 | Вопрос # 3 729/ вопрос открыт / | 
 |  Здравствуйте, эксперты! Помогите разработать алгоритм решения задачи: Создать программу генерирования всех подмножеств заданого n- елементного множества. Ответ #1. Отвечает эксперт: vlsavkin Здравствуйте, Дементьев Евгений Владимирович!Найдено на просторах интернета и доточено напильником.
 О самих алгоритмах можно почитать, например здесь:
 http://program.rin.ru/razdel/html/698.html
 Приложение:Переключить в обычный режим program Project;{$APPTYPE CONSOLE}uses  SysUtils;const  nmax = 24;type  list = array[1..nmax] of integer;var  k, i, j, h, n, q: integer;  a, p: list; procedure print(k: integer);var  i: integer;begin  for j := 1 to k do    write(p[j]: 4);  writelnend; {print} procedure cnk(n, k: integer);  procedure gen(m, L: integer);  var    i: integer;  begin    if m = 0 then      print(k)    else      for i := L to n - m + 1 do      begin        p[k - m + 1] := a[i];        gen(m - 1, i + 1)      end  end; {gen}begin {cnk}  gen(k, 1)end; {cnk}begin  readln(n);  for h := 1 to n do    {main}  begin    k := h;    for i := 1 to n do      a[i] := i;
{çàïîëíèòü
ìàññèâ
ìîæíî è
ïî-äðóãîìó}    cnk(n, k);  end;  readln;end.
|  | Ответ отправил: vlsavkin (статус: 2-ой класс)Время отправки: 3 февраля 2010, 12:04
 
 |  
 Мини-форум вопросаМини-форум пуст. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |