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

Mucim se sa fakin rekurzijom

[es] :: C/C++ programiranje :: C/C++ za početnike :: Mucim se sa fakin rekurzijom

Strane: 1 2

[ Pregleda: 5436 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

absBeg
BiH

Član broj: 97773
Poruke: 201
80.71.148.*



Profil

icon Mucim se sa fakin rekurzijom21.11.2006. u 17:19 - pre 211 meseci
Konstantno na ispitu padam zbog rekurzija. Ono prodjem klase i drugo tesko gradivo, ali uvijek padnem zbog njih (ne da profesor da se prodje sa rupama u znanju). a kod mene u mozgu kao da je neki bunt protiv njih i nikako ih ne mogu svariti. kolege me zezaju da sam jedini covjek koji razvaljuje klase, a ne zna rekurziju.
e sad, presao sam svo gradivo vezano za rekurzije, znam ih objasniti do u detalje, ali nikako ne mogu naci dovoljno zadataka za vjezbanje. postoji li neka caka kod rjesavanja rekurzija ili da me uputite na neku knjigu koja je detaljno objasnjava? knjige koje ja imam (c++ u 24 dana, c++ programming fundamentals, itd) sam presao, ali su one veoma sture u objasnjavanju rekurzija.

i da, slobodno mi se i vi smijte
"I don't read books, but I have friends who do."
George W. Bush
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.maksnet.net.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Mucim se sa fakin rekurzijom21.11.2006. u 17:44 - pre 211 meseci
Znas da ih objasnis, ali ne znas da ih primenis? Onda ce pre biti da si nabubao ali ne razumes to sto govoris.
Mogli bi da krenemo od toga sto ces nam ovde objasniti sta je po tebi rekurzija i navedi neki primer kada bi je koristio. Bez gledanja u knjige, molim!
JaFreelancer.com
 
Odgovor na temu

absBeg
BiH

Član broj: 97773
Poruke: 201
80.71.148.*



Profil

icon Re: Mucim se sa fakin rekurzijom21.11.2006. u 17:47 - pre 211 meseci
Rekurzija je kad neka funkcija poziva samu sebe dok se ne ispuni neki uvjet. Tad se poziva bazni slucaj i izlazi se iz rekurzivne funkcije.
"I don't read books, but I have friends who do."
George W. Bush
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.maksnet.net.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Mucim se sa fakin rekurzijom21.11.2006. u 18:05 - pre 211 meseci
A drugi deo pitanja? Kada bi to koristio? Znas li recimo kako da racunas n! pomocu rekurzivne funkcije?
JaFreelancer.com
 
Odgovor na temu

absBeg
BiH

Član broj: 97773
Poruke: 201
*.com
Via: [es] mailing liste



Profil

icon Re: Mucim se sa fakin rekurzijom21.11.2006. u 18:36 - pre 211 meseci
>
pa znam, ali zato jer znam kod :(. .Mislim, skontao sam da se zadaci iz
rekurzije ponavljaju, tj. mogu biti faktorijel, fibonacci i slicno. Ali
nije rjesenje to sto ja ove kodove mogu nabubati. To i prof zna pa
uvijek malo promijeni zadatak i onda se ja zapetljam.
Ali evo da objasnim ono sto ja shvatam kod n!. uneseni broj treba da se
vrti unazad sve dokle ne dodje do 1. Tada treba da se rezultat svih
dekrementiranih brojeva ispise ili vrati (preko return).
Ovo sa brojevima mislim da mogu reci da shvatam, ali se izgubim kad
dodje niz u pitanje. Npr. ne shvatam na koji nacin radi funkcija koja
unazad ispisuje vrijednosti nekog niza ili (jos gore) kad treba da
unazad ispise vrijednosti koje ja unosim sa tastature. Gdje ja da
spremim te vrijednosti koje unosim sa tastature?
"I don't read books, but I have friends who do."
George W. Bush
 
Odgovor na temu

absBeg
BiH

Član broj: 97773
Poruke: 201
*.com
Via: [es] mailing liste



Profil

icon Re: Mucim se sa fakin rekurzijom21.11.2006. u 18:40 - pre 211 meseci
>
kao sto vidite, faktorijel mi je zaista lagan

Code:
int fakt(int x){
   int suma=1;
   if (x>=1)  {
       suma*=x;
       x--;
       return suma * fakt(x);
        }
   else
        return suma;
}
int main()
{
    int unos, odgovor;
    cout << "Unesi broj: ";
    cin >> unos;
    odgovor = fakt(unos);
    cout << "Faktorijel broja "<<unos<<" je: "<< odgovor << endl;
...


Evo sto je u svojoj knjizi napisao autor C++-a
"We do not know any sure way to explain recursion. Our experience is that people stare at
recursive programs for a long time without understanding how they work. Then, one day, they
suddenly get it—and they don't understand why they ever thought it was difficult. Evidently,
the key to understanding recursion is to begin by understanding recursion. The rest is easy."

[Ovu poruku je menjao absBeg dana 21.11.2006. u 19:52 GMT+1]
"I don't read books, but I have friends who do."
George W. Bush
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.maksnet.net.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Mucim se sa fakin rekurzijom21.11.2006. u 19:06 - pre 211 meseci
Citat:
Npr. ne shvatam na koji nacin radi funkcija koja
unazad ispisuje vrijednosti nekog niza ili (jos gore) kad treba da
unazad ispise vrijednosti koje ja unosim sa tastature.

Sta ta funkcija treba da radi? Ovako:
- procita karakter
- proveri da li je to neki karakter koji oznacava kraj
- ako nije, poziva funkcija samu sebe
- ispise karakter koji je procitan.

Code:
void pisiUnazad(){
char karakter;
cin >> karakter; // procitas karakter
if (karakter != "q") pisiUnazad(); // ako nije kraj, zoves fukciju da cita sledeci
cout << karakter << endl; 
/* ako jeste kraj, ispisace "q", pa ce da se vrati u funkciju koja je pozvala tu, 
pa ce ispisati taj (prethodni) karakter i sve tako do prvog. */
}

JaFreelancer.com
 
Odgovor na temu

absBeg
BiH

Član broj: 97773
Poruke: 201
*.com
Via: [es] mailing liste



Profil

icon Re: Mucim se sa fakin rekurzijom21.11.2006. u 21:36 - pre 211 meseci
>
pretpostavljam da se ovo odnosi na citanje stringa karaktera pa onda
funkciju mogu vrtiti od pocetka do nultog karaktera i onda je ispisivati
unazad. ali sto ako je ovakakv zadatak.
korisnik unosi niz znakona dok ne uneke slovo K (kao kraj) i tad se
program prekida i ispisuje te znakove unazad. ovo sam radio s kolegom i
nismo ga znali uraditi.
"I don't read books, but I have friends who do."
George W. Bush
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.maksnet.net.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Mucim se sa fakin rekurzijom21.11.2006. u 21:55 - pre 211 meseci
Jesi li ti uopste citao ovo sto sam napisao?
Funkcija radi upravo to. Cita karaktere sa tastature, dok ne uneses "q" za kraj. On pise sve unazad.
JaFreelancer.com
 
Odgovor na temu

igac
Banjaluka

Član broj: 415
Poruke: 562
*.teol.net.



+2 Profil

icon Re: Mucim se sa fakin rekurzijom21.11.2006. u 22:36 - pre 211 meseci
probaj prvo skontati sta tacno trebas "dobiti"... onda napisi preudo kod pa 'skontaj' hoce li raditi ili nece to sto trebas dobiti... onda tek napisi code...
npr
Code:

void pisiUnazad(){
char karakter;
cin >> karakter; // procitas karakter
if (karakter != "q") pisiUnazad(); // ako nije kraj, zoves fukciju da cita sledeci
cout << karakter << endl; 
/* ako jeste kraj, ispisace "q", pa ce da se vrati u funkciju koja je pozvala tu, 
pa ce ispisati taj (prethodni) karakter i sve tako do prvog. */
}


ti si prvo trebao dobro pricitai text zadatka... znaci treba CITATI karaktere ali ne ISPISIVATI odmah...
sve dok ne dodje do 'q'... sada posto se rekurzija napravi tj dodje do kraja tj "odvije se" ti sada samo trebas ispisati karaktere... a posto ce se ZADNJI poziv f-je tj onaj prije 'q' ODRADITI prvi sada znaci on ce ispisati karakter, oslobodice se memorija, onda prethodni poziv... i sve tako do prvog... i onda samo to pretocis u code.. znaci
1. procitaj char
2. jel nije q ? procitaj_sledeci() : ispisi ;
3. kraj

samo dobro procitaj sta se trazi... :)
"nice town, i'll take it..."
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.maksnet.net.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Mucim se sa fakin rekurzijom21.11.2006. u 22:48 - pre 211 meseci
Ja sam uvek o programiranju takvih stvari razmisljao kao o objasnjavanju debilu kako se nesto radi (u sustini i jeste tako - treba glupoj masini detaljno objasniti sta da radi da daje pravi rezultat). Napises lepo recima (pseudo kod) sta treba uraditi da bi se nesto izvelo, a onda samo prevedes na odgovarajuci jezik. Kada jednom pocnes da razmisljas na taj nacin, programski jezik vise nije bitan. Mozes da pises u bilo kom.
JaFreelancer.com
 
Odgovor na temu

markom
Marko Milivojević
Network Engineer
Google
Mountain View

Član broj: 18427
Poruke: 4227
*.du.xdsl.is.

Sajt: https://markom.rs


+16 Profil

icon Re: Mucim se sa fakin rekurzijom21.11.2006. u 23:28 - pre 211 meseci
Moj omiljeni citat:

Citat:
Rekurzija: vidi: rekurzija

 
Odgovor na temu

absBeg
BiH

Član broj: 97773
Poruke: 201
*.com
Via: [es] mailing liste



Profil

icon Re: Mucim se sa fakin rekurzijom22.11.2006. u 14:45 - pre 211 meseci
>
kao sto rekoh, ja i rekurzija smo na ratnoj nozi :D.
Probao sam ovaj kod i naravno radi. Ali nesto mi nije jasno. Svaki put
kad unesem karakter (dok to nije karakter za kraj), upisani karakter se
stavlja u stek memoriju (jesam li u pravu?) i onda na kraju to sve cout
ispisuje. Kako? da li se to mozda na steku kreira neki niz pa karakter
postaje taj niz, te onda cout objekt ispisuje niz, a ne vise karakter po
karakter.
"I don't read books, but I have friends who do."
George W. Bush
 
Odgovor na temu

pcaca
Aleksandar
Makedonija

Član broj: 5333
Poruke: 92
62.162.185.*



Profil

icon Re: Mucim se sa fakin rekurzijom22.11.2006. u 17:39 - pre 211 meseci
Evo kako je vizuelno prestavljen rad 2 najednostavnije rekurzivne funkcije faktoriel i fibonaci. Primeri su u Python-u ali to nije bitno za rad. Postoje po 3 razlicne animacije za obe funkcije, ali po meni najbolja je prva animacija faktorijel-a.

Faktorijel - http://www.media-objects.de/pvs/pv_factorial1.html
Fibonaci - http://www.media-objects.de/pvs/pv_fib.html

Pokusaj da shvatis kako radi prva animacija, pri svaki rekurzivni poziv kreira se nova "kopija" funkcije i kada vise nema poziva (kada posledni poziv vrati 1) onda se pozivi resavaju od zadnjeg.

Nadam se da ce ti pomoci ova vizuelna prezentacija.
 
Odgovor na temu

DjoleReject
Djordje Knezevic
Zvezdara

Član broj: 85258
Poruke: 309
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: Mucim se sa fakin rekurzijom26.11.2006. u 15:49 - pre 211 meseci
Ovi traze neke passworde...
De si Deda...
 
Odgovor na temu

pcaca
Aleksandar
Makedonija

Član broj: 5333
Poruke: 92
62.162.180.*



Profil

icon Re: Mucim se sa fakin rekurzijom26.11.2006. u 20:01 - pre 211 meseci
Unesi bilo sto za password i pritisni OK.
 
Odgovor na temu

DjoleReject
Djordje Knezevic
Zvezdara

Član broj: 85258
Poruke: 309
*.dynamic.sbb.co.yu.



+1 Profil

icon Re: Mucim se sa fakin rekurzijom26.11.2006. u 20:25 - pre 211 meseci
On kaze: "Player 1 check your password" :(
De si Deda...
 
Odgovor na temu

pcaca
Aleksandar
Makedonija

Član broj: 5333
Poruke: 92
62.162.181.*



Profil

icon Re: Mucim se sa fakin rekurzijom28.11.2006. u 19:11 - pre 211 meseci
Hmmm... u pravu si sada nece da radi. Kad sam postovao prvi put radilo je sa bilo kojim passwordom. Izgleda da sada treba da se registriras na http://www.media-objects.de/pvs/registrierung.html

Pa onda na http://www.media-objects.de/pvs/index.html su primeri.
 
Odgovor na temu

absBeg
BiH

Član broj: 97773
Poruke: 201
80.71.149.*



Profil

icon Re: Mucim se sa fakin rekurzijom23.12.2006. u 14:48 - pre 210 meseci
Racunanje sume kvadrata od m do n koristeci metodu dekompozicije. Ovakvo rjesenje je ponudjeno.

Code:
int sumKvDekomp(int m,int n)
{
    if (m==n)
        return m*n;
    else {
        int sr=(m+n)/2;
        return (sumKvDekomp(m,sr)+sumKvDekomp(sr+1,n));
    }
}


Moze li se ovo uraditi na neki drugi nacin?
Zbunjuje me sto se stalno racuna sredina, a poziva ono m*n. Zar to ne bi trebao biti bazni slucaj koji se poziva na kraju? Ako jeste, kako se onda dobije rezultat?
Npr. od 2 do 4 dobit cemo
(2,3)+(4,4)
(2,2)+(3,3)+(4,4)

Shvatam ja kako to u prilici radi ali ne shvatam kad se vrsi mnozenje. U drugom slucaju se samo racuna sredina i prosljeduje se rekurzivni korak razbijen u dva dijela. Ali tu nema nikakvog racunanja jer su m,n i sr samo parametri.
"I don't read books, but I have friends who do."
George W. Bush
 
Odgovor na temu

darkwolf_m
dsfds

Član broj: 37856
Poruke: 2
85.158.32.*



Profil

icon Re: Mucim se sa fakin rekurzijom25.12.2006. u 10:27 - pre 210 meseci
Ja sam slab sa Cpp-om ali da savladas rekurziju uzmi raditi zadatke tipa najkraci put, tj setanja kroz labirinte grafove pogledaj po netu zadatke sa takmicenja srednjih skola. Ja mislim da ces tako kroz zadatke najlakse savladati
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Mucim se sa fakin rekurzijom

Strane: 1 2

[ Pregleda: 5436 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

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