maja | 28.02.2012 17:16 |
---|---|
Predmet:Pomoc za zadatak u C-u Da li je dobar moj pokusaj resavanja ovog zadatka ili bi vi drugacije napisali? Napisati funkciju int Particija Parnih(int n) koja izracunava i vraca broj particija parnog broja n u kojima ucestvuju samo parni sabirci! int broj_particija(int n) { int i,j,broj,parni,s;int a[100]; broj=0; for(i=0;i<n;i++) a[i]=0; uvecaj(a); while(a[n-1]!=1) { s=0; parni=1; j=0; while(parni && j<n) { if(a[j]==1) { parni=(j+1%2=0); if(parni) s=s+j+1; } j++; } if(parni && n==s) broj++; uvecaj(a); } return(broj); } void uvecaj(int *a) { int i=0; while(a[i]==1) a[i++]=0; a[i]=1; } |
zxz | 28.02.2012 17:46 |
---|---|
Predmet:Re: Pomoc za zadatak u C-u Citat: Napisati funkciju int Particija Parnih(int n) koja izracunava i vraca broj particija parnog broja n u kojima ucestvuju samo parni sabirci! Da budem iskren nije meni jasno sta je broj particija parnih brojeva. a ovo tvoje mogu malo opisati. int broj_particija(int n) // Ime procedure sa ulaznim parametrom n koji je integer { int i,j,broj,parni,s;int a[100]; broj=0; for(i=0;i<n;i++) // Petlja koja broji od nule sve dok je i manje od n sa uvecanje i za 1 a[i]=0; // sve var a ce poprimiti vrijeednost 0 uvecaj(a); // ovo bi morala biti neka procedura koja se poziva ali kako neznam? // Ako uvecava vrijenost a trebala bi i variabla koja ce prihvatiti to uvecanje while(a[n-1]!=1) // while (brojac = 0) ili mozda treba do neznam kakva je namjera { / pocinje while1 petlja s=0; // se ce uvijek biti 0 parni=1; j=0; while(parni && j<n) // druga while koja radi u prvoj { // pocinje druga while if(a[j]==1) // Uporedjuje vrijednost a ali sve vrijednosti a su 0. { parni=(j+1%2=0); // Ovo je Mod operator i treba biblioteka na vrhu '#include <stdio.h>' // Trebalo bi parni=(j+1% 2); if(parni) //Ako je parni s=s+j+1; } // Ovdje se zatvara druga while. Trebq voditi racuna gdje se zatvara jer dotle broji. //Velikom zagradom zatcar i otvaras. j++; } if(parni && n==s) // Logički I (binarni operator) i dali je n jednako s broj++; uvecaj(a);// opet poziv itd.. } return(broj); /Vraca vrijednost iz var broj } void uvecaj(int *a) { int i=0; while(a[i]==1) a[i++]=0; a[i]=1; } |
maja | 28.02.2012 17:52 |
---|---|
Predmet:Re: Pomoc za zadatak u C-u Hvala,na odgovoru znacice mi i ovo! |