Poslao: 17 Mar 2015 10:09
|
offline
- Miloš CG
- Super građanin
- Pridružio: 23 Maj 2011
- Poruke: 1069
|
Trebaju mi rekurzivne funckije iz C programskog jezika, ukapirao sam da one mogu da posluže kao petlja jer pozivaju same sebe i tako prave loop, ali imam nejasnoća u vezi sintakse i pomalo logike. Može li neko da postavi neki najprostiji primjer na kojem bih mogao da to shvatim i da dalje napredujem?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 17 Mar 2015 10:20
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14809
- Gde živiš: Niš
|
Evo recimo funkcije za izračunavanje faktorijela: faktorijel(int x)
{
if(x == 0)
return 1;
else return x * faktorijel(x - 1);
} Dakle, kod rekurzije su dve stvari bitne:
- uslov za izlazak iz rekurzije odnosno za završetak rekurzije, i on je maltene najbitna stvar, a i najčešći uzrok grešaka
- rekurzivni poziv funkcije - funkcija poziva samu sebe, ali gotovo obavezno sa izmenjenim parametrom
|
|
|
|
Poslao: 17 Mar 2015 10:30
|
offline
- Miloš CG
- Super građanin
- Pridružio: 23 Maj 2011
- Poruke: 1069
|
Da ali imam problem sad sa glavnim programom, kako da ga uklopim sa funkcijom?
|
|
|
|
|
|
|
Poslao: 18 Mar 2015 22:11
|
offline
- Miloš CG
- Super građanin
- Pridružio: 23 Maj 2011
- Poruke: 1069
|
Dobio sam zadatak da izračunam preko rekurzivne funkcije koliko unijeti broj ima cifara . Help me. Nemam orijentacije.
|
|
|
|
Poslao: 19 Mar 2015 03:11
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14809
- Gde živiš: Niš
|
Ovo bi bila neka rekurzivna formula: brojCifara(1234) = 1 + brojCifara(123). Počni odatle.
|
|
|
|
Poslao: 19 Mar 2015 08:30
|
offline
- Miloš CG
- Super građanin
- Pridružio: 23 Maj 2011
- Poruke: 1069
|
vasa.93 ::Ovo bi bila neka rekurzivna formula: brojCifara(1234) = 1 + brojCifara(123). Počni odatle.
Ne razumijem, kako da od zadatog broja prepoznam broj cifara, mislim da smo u školi dijelili zadati broj sa 100 ili sa 10 i to je bilo u glavnom programu, ali koja je sad fora sa rekurzivnom funkciom tu, ja ne znam.
|
|
|
|
Poslao: 19 Mar 2015 08:40
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14809
- Gde živiš: Niš
|
Samo brojiš jednu po jednu cifru. Dakle, broj cifara bilo kog broja jednak je zbiru jedinice i broja cifara tog istog broja bez poslednje cifre. Poslednju cifru broja "uklanjaš" tako što taj broj podeliš sa 10.
|
|
|
|