Centar za edukaciju-BiH



#1 28.02.2012 16:16
maja Van mreze
Clan
Registrovan od:02.02.2012
Postovi:5


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;
}
↑  ↓

#2 28.02.2012 16:46
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


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;
}
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 28.02.2012 16:52
maja Van mreze
Clan
Registrovan od:02.02.2012
Postovi:5


Predmet:Re: Pomoc za zadatak u C-u
Hvala,na odgovoru znacice mi i ovo!
↑  ↓

Stranice (1):1


Sva vremena su GMT +01:00. Trenutno vrijeme: 7: 32 am.