Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Partitile unei multimi  (Citit de 1234 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« : Februarie 03, 2009, 20:17:03 »

Pentru partitia  unei multimi am facut programul uramtor ,dar nu merege si n-am habar unde am gresit, mai precis unde se blocheaza, ma poate ajuta cineva ?
Cod:
#include<fstream.h>
int n;
int nc;
int P[30];
int NrP;
ofstream fout("part.out");
void out()
   {
    fout<<"partia "<<++NrP<<endl;
    for(int j=1;j<=nc;j++)
       {fout<<"{";
for(int i=1;i<=n;i++)
   if(P[i]==j) cout<<i<<" ";
fout<<"} ";
       }
   fout<<endl;
   }
void GenPart(int k)
   {
   if(k-1==n) out();
        else for(int j=1;j<=nc;j++)
             { P[k]=j;
               GenPart(k+1);
            }
     nc++;
     P[k]=nc;
     GenPart(k+1);
     nc--;
   }
void main()
   {cout<<"n="; cin>>n;
   GenPart(1);
    fout.close();
    }
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #1 : Februarie 03, 2009, 21:02:14 »

Tu iti creezi clasa noua, indiferent daca (k-1 == n), deci iti va genera clase la infinit, pt ca nu ai conditie de oprire pt asta. Pune constructia unei clase noi pe ramura else a if(k-1==n). Succes!
Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #2 : Februarie 04, 2009, 09:50:43 »

Thanks  , asta a fost,  Smile
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines