Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

rekurzivna funkcija moze li nekio help ??????

[es] :: C/C++ programiranje :: C/C++ za početnike :: rekurzivna funkcija moze li nekio help ??????

[ Pregleda: 3890 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

KoKuZ
Novi Travnik

Član broj: 140089
Poruke: 127
*.Global-Internet.ba.



Profil

icon rekurzivna funkcija moze li nekio help ??????16.04.2007. u 14:48 - pre 188 meseci
Napisati program koji ce na osnovu unesenog broja, koristeci koristeci rekurzivnu funkciju, izracunati sumu parnih brojeva izmedju unesenog i broja 100. Napomena: korisnik moze unijeti broj koji je veci ili manji od broja 100.


Software is like sex: it's better when it's free!!
 
Odgovor na temu

mizob

Član broj: 13465
Poruke: 1108
*.rcub.bg.ac.yu.



+5 Profil

icon Re: rekurzivna funkcija moze li nekio help ??????16.04.2007. u 16:40 - pre 188 meseci
Code:

int zbir = 0;
int f(int i){
if (i < 100) zbir = zbir + f(i+1);
else return zbir
}


To bi trebalo da je ta funkcija.
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
89.190.198.*

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: rekurzivna funkcija moze li nekio help ??????16.04.2007. u 16:54 - pre 188 meseci
To nije funkcija..
Može biti njeno telo ili njegov deo.

KoKuZ, zašto ne napraviš ikakav pokušaj?
Ipak se ++uje.
 
Odgovor na temu

belegija
sarajevo

Član broj: 141988
Poruke: 24
*.pmf.unsa.ba.



Profil

icon Re: rekurzivna funkcija moze li nekio help ??????16.04.2007. u 17:03 - pre 188 meseci
To definitivno nije fja. Trebala bi biti rastavljena na 2 dijela: za brojeve vece od 100 i brojeve manje od 100. I ovdje sabira sve brojeve a ne samo parne.
C++er
 
Odgovor na temu

mizob

Član broj: 13465
Poruke: 1108
*.rcub.bg.ac.yu.



+5 Profil

icon Re: rekurzivna funkcija moze li nekio help ??????16.04.2007. u 21:03 - pre 188 meseci
Nisam video da trebaju parni brojevi da se saberu
Ovo je onda ta rekurzivna funkcija.

Code:

int f(int i){

if ((i < 100) & (i % 2 == 0))return (i + f(i+2));
if ((i < 100) & ( i % 2 == 1)) {
    i++;
    return f(i);
}
if (i > 100) return i;
}



 
Odgovor na temu

SuPeR_MaSteR
Marko Stamenković

Član broj: 88590
Poruke: 115
*.inffo.net.



Profil

icon Re: rekurzivna funkcija moze li nekio help ??????16.04.2007. u 21:14 - pre 188 meseci
Evo f-je:
Code:

int sum = 0;
int f(int num)
{
   if (num == 100)
       return sum;
    if (num % 2 == 0)
        sum += num;
    if (num < 100)
        f(++num);
    else
        f(--num);
}
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
89.190.198.*

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: rekurzivna funkcija moze li nekio help ??????16.04.2007. u 22:30 - pre 188 meseci
KoKuZ nisi rekao da li u sumu ulaze dat broj i 100.

@ Milos Zobenica:
Pa nije baš. Probaj recimo sa nekim brojem većim od 100.

@ SuPeR_MaSteR
Ja bih tvoju f-ju zapisao ovako: (Ne zbog ternarnih operatora, nego zbog lepše postavljenog return i nepostojanja globalne promenljive)
Code:
int f1(int num)
{    
    if(num==100) return 0;
    
    return
        ( num&1 ? 0 : num )
        + ( (num<100) ? f1(num+1) : f1(num-1) );
}

Ipak se ++uje.
 
Odgovor na temu

mizob

Član broj: 13465
Poruke: 1108
147.91.1.*



+5 Profil

icon Re: rekurzivna funkcija moze li nekio help ??????16.04.2007. u 22:36 - pre 188 meseci
U pravu si za broj veci od 100, resenje je da se umesto
Code:
if (i > 100) return i;


stavi

Code:
if (i > 100) return 0;

 
Odgovor na temu

KoKuZ
Novi Travnik

Član broj: 140089
Poruke: 127
*.Global-Internet.ba.



Profil

icon Re: rekurzivna funkcija moze li nekio help ??????17.04.2007. u 20:54 - pre 188 meseci
cccc ja sam sebi ev govorim kako sam glup jer sam pokusavo nesto drugo...mislim da bi sada uradio ovako kao kolega Mali Misha
Code:

int f1(int num)
{    
    if(num==100) return 0;
    
    return
        ( num&1 ? 0 : num )
        + ( (num<100) ? f1(num+1) : f1(num-1) );
}


posto sam skontao u cemu je point :D

hvala :D
Software is like sex: it's better when it's free!!
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
89.190.198.*

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: rekurzivna funkcija moze li nekio help ??????18.04.2007. u 19:03 - pre 188 meseci
@ Milos Zobenica
Sumljam da će to popraviti stvar. Funkcija treba da radi i za brojeve veće od sto, znači nešto kao ovo:

f(80) = 80 + 82 + 84 + 86 + ... + 98 = 890
f(120) = 120 + 118 + 116 + 114 + ... + 102 = 1110

Probaj da ispisuješ rezultate funkcija zajedno i upoređuj rezultate dok ne budeš zadovoljan:
Code:
  cout << f(2000) << '\n' << f1(2000);

Ipak se ++uje.
 
Odgovor na temu

mizob

Član broj: 13465
Poruke: 1108
*.rcub.bg.ac.yu.



+5 Profil

icon Re: rekurzivna funkcija moze li nekio help ??????18.04.2007. u 19:42 - pre 188 meseci
Izgleda da ja vise nisam procitao iz prvog topica nego sto sam procitao, evo ispravio sam resenje, tacnije samo dodao za brojeve > 100, isprobao, radi.

Code:


int f(int i){

if ((i < 100) & (i % 2 == 0))return (i + f(i+2));
if ((i < 100) & ( i % 2 == 1)) {
    i++;
    return f(i);
}


if ((i > 100) & (i % 2 == 0))return (i + f(i-2));
if ((i > 100) & ( i % 2 == 1)) {
    i--;
    return f(i);
}

if ((i = 100) | ( i = 99) | ( i = 101)) return 0;
}

 
Odgovor na temu

Trantor

Član broj: 100930
Poruke: 275
77.46.253.*

ICQ: 199139277


Profil

icon Re: rekurzivna funkcija moze li nekio help ??????02.05.2007. u 22:31 - pre 187 meseci
Pozdrav svima.

Imam i ja jedan problem koji nije direktno u vezi sa rekurzivnom funkcijom, mada se u ovom programu ona pojavljuje.
Naime treba da napišem program koji diže broj na stepen ako se i broj i stepen zadaju sa tastature. Traži se da se to
odradi rekurzivnom funkcijom što sam ja i odradio ali mi kompajler non stop javlja grešku. Fora je u tome da sam već
imao slučan problem i program je odjednom proradio bez ikakvog objasnjenja. Da li je moguće da je upitanju kompajler
Dev C++ v 4.9.9.2? Inače evo koda pa ako neko ima malo vremena bilo bi lepo ako može da mi pomogne. Hvala unapred.

// Program koji trazi broj i stepen i koristi rekurzivnu
// funkciju "Stepenovanje" za dizanje broja na stepen.

#include <iostream>

using namespace std;

unsigned long Stepenavanje(unsigned short broj, unsigned short stepen);

int main()
{
unsigned short x, y;
unsigned long rezultat;
cout << "Unesite broj koji zelite da stepenujete: " << endl;
cin >> x;
cout << "Unesite broj kojim zelite da stepenujete: " << endl;
cin >> y;
rezultat = Stepenovanje(short unsigned x, short unsigned y);
cout << "Trazeni broj je: " << rezultat << endl;
system("PAUSE");
return 0;
}

unsigned long Stepenovanje(unsigned short x, unsigned short y)
{
if ( y == 0)
return 1;
if ( y == 1)
return x;
else
return (x * Stepenovanje(x, y - 1);
}


[Ovu poruku je menjao Trantor dana 03.05.2007. u 00:29 GMT+1]
The truth is out there and I want to believe.
 
Odgovor na temu

pcaca
Aleksandar
Makedonija

Član broj: 5333
Poruke: 92
62.162.179.*



Profil

icon Re: rekurzivna funkcija moze li nekio help ??????03.05.2007. u 03:03 - pre 187 meseci
Evo ispravan kod:
Code:
#include <iostream>

using namespace std;

unsigned long Stepenovanje(unsigned short broj, unsigned short stepen);

int main()
{
    unsigned short x, y;
    unsigned long rezultat;
    cout << "Unesite broj koji zelite da stepenujete: " << endl;
    cin >> x;
    cout << "Unesite broj kojim zelite da stepenujete: " << endl;
    cin >> y;
    rezultat = Stepenovanje(x, y);
    cout << "Trazeni broj je: " << rezultat << endl;
    system("PAUSE");
    return 0;
}

unsigned long Stepenovanje(unsigned short x, unsigned short y)
{
    if ( y == 0)
        return 1;
    if ( y == 1)
        return x;
    else
        return (x * Stepenovanje(x, y - 1));
}

Imao si nekoliko gresaka:
1. Ime funkcije kod deklaracije bilo je napisano Stepenavanje.
2. Kada zoves funkciju ne trebaju tipovi. Ispravno je Stepenovanje(x, y); bez short unsigned.
3. Falila je jedna zagrada u zadnjem redu funkcije, kod return-a.
 
Odgovor na temu

Trantor

Član broj: 100930
Poruke: 275
77.46.253.*

ICQ: 199139277


Profil

icon Re: rekurzivna funkcija moze li nekio help ??????03.05.2007. u 10:40 - pre 187 meseci
Aleksandre hvala ti puno.

Znam ja da u pozivu funkcije nije potrebno stavljati tip promenljive koje se predaje funkciji po vrednosti.
ali sam bio očajan i nisam znao šta vise da probam. Sad mi je čak i smešno kako sam bio tako slep.
Hvala još jednom.
The truth is out there and I want to believe.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: rekurzivna funkcija moze li nekio help ??????

[ Pregleda: 3890 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.