Informatică, întrebare adresată de vuwinuyan, 8 ani în urmă

Elaborati un program PASCAL care afiseaza pe ecran toate submultimile multimii {1, 2, 3, 4}

Răspunsuri la întrebare

Răspuns de boiustef
4

Răspuns:

program submultimi;

const MAX=6;

type Natural=0..1000;

var n,p,i:Natural;

   v:array[0..MAX] of Natural;

function solutie(k:Natural):boolean;

begin

 solutie:=k=p;

end;

procedure afisare(k:Natural);

var i:Natural;

begin

 write('{');

 for i:=1 to k-1 do

   write(v[i],',');

 write(v[k],'}  ');

end;

procedure BK(k:Natural);

var i:Natural;

begin

 for i:=v[k-1]+1 to n do

   begin

      v[k]:=i;

      if (solutie(k)) then afisare(k)

      else BK(k+1);

  end;

end;

begin {programul principal}

 n:=4;

 writeln('submultimile multimii {1,2,3,4} :');

 write('{}  ');

 for p:=1 to n-1 do

   BK(1);

 write('{');

 for i:=1 to n-1 do

   write(i,',');

 writeln(n,'}');

end.

Explicație:

Folosită metoda Backtracking

Alte întrebări interesante