Šta je novo?

Problem u pacsalu, molim pomoc

Nenad Zivic

Slavan
Učlanjen(a)
18.10.2007
Poruke
86
Poena
309
jel moze neko da resi ovaj zadatak:

Napisati program koji ispisuje sve kombinacije k-te klase od n elemenata.

Bio bih puno zahvalan.
 
Probaj ovo, krajnje neoptimizovano, resenje:
Kod:
program Kombinacije;

Var n,k,tot,i,j,l,njed : Integer;
    cifra : Array[1..100] Of Byte; //Smatramo da ce biti maksimalno 100 elemenata

begin
   n:=25;
   k:=3;
   tot:=1;
   For i:=1 To n Do tot:=tot*2;
   For i:=1 To tot Do
   Begin
      l:=i;
      //Pretvaramo broj l u binarni i brojimo koliko ima jedinica
      j:=0;
      njed:=0;
      While l>0 Do
      Begin
         j:=j+1;
         cifra[j]:=l mod 2;
         If cifra[j]=1 Then njed:=njed+1;
         l:= l div 2;
      End;
      If njed=k Then //Ako je broj jedinica jednak k (jer su kombinacije k-te klase)
      Begin
         For l:=1 To j Do
         If cifra[l]=1 Then Write(l,' ');
         WriteLn;
      End;
   End;
   ReadLn;
end.
Ako te zanima nesto vise, imas ovde.
 
Danas je u trendu da se svačemu nadene pridev 'mrtvo', pa makar to bila i petlja u Paskalu :)
 
Danas je u trendu da se svačemu nadene pridev 'mrtvo', pa makar to bila i petlja u Paskalu :)
Jos uvek mi nije odgovorio koja je mrtva. :)
Sve u svemu, od mene pomoc nece vise da dobije. Uradim mu kompletan program, a on, umesto da kaze hvala, pronalazi nekakve mrtve petlje! :mad:
Ako upise fakultet koji mislim da ce da upise, studiranje cu da mu pretvorim u nocnu moru :-devil-: Salim se :) ili ne? ;)
 
Drago mi je sto se radujes, ali gde si video tu mrtvu?

pa verovatno je mislio na ovaj delic

Kod:
While l>0 Do
      Begin
         j:=j+1;
         cifra[j]:=l mod 2;
         If cifra[j]=1 Then njed:=njed+1;
         l:= l div 2;
      End;

stim sto je zamenio promenljivu 'l' sa 1 :)
 
Poslednja izmena:
Vrh Dno