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

rekurzija code nejasan?

[es] :: C/C++ programiranje :: C/C++ za početnike :: rekurzija code nejasan?

[ Pregleda: 2174 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

osmania
Panet

Član broj: 26316
Poruke: 773
*.20.11.vie.surfer.at.



+7 Profil

icon rekurzija code nejasan?29.11.2007. u 18:37 - pre 198 meseci
Code:
#include<iostream.h>
int rek(int i) {
double s=0.9;
if (i) 
s+=rek(i/10)+i%10
return int(s+0.5);
}
int main() {
cout << rek(2345);
}



kako ovo vraca 19 u biti me interesuje kad je rek (0) onda dolazi do return int (s + 0.5) sto znaci da bi trebalo da vrati 1 posto je int znaci vraca 1 i kad uvrstim 1 onda nije tacan rezultat, nego bukvalno je return int (s + 0.5) je 1,4 i kad se sve sabere i oduzme onda je tacan rezultat.
Molim jedan jasan odgovor inca pocecu da grizem c++ ....
hvala puno
 
Odgovor na temu

vilyu
Web Developer
Beograd, Srbija

Član broj: 1188
Poruke: 444



+2 Profil

icon Re: rekurzija code nejasan?30.11.2007. u 10:08 - pre 198 meseci
Rekurzije se redom pozivaju kao: rek(2345), rek(234), rek(23), rek(2), rek(0).

Code:

rek(0)    vraca int(0.9 + 0.5)          = 1
rek(2)    vraca int(0.9 + 1 + 2 + 0.5)  = 4
rek(23)   vraca int(0.9 + 4 + 3 + 0.5)  = 8
rek(234)  vraca int(0.9 + 8 + 4 + 0.5)  = 13
rek(2345) vraca int(0.9 + 13 + 5 + 0.5) = 19

Pera električar 0637129710, BG, preporučujem.
 
Odgovor na temu

osmania
Panet

Član broj: 26316
Poruke: 773
*.20.11.vie.surfer.at.



+7 Profil

icon Re: rekurzija code nejasan?30.11.2007. u 14:56 - pre 198 meseci
hvala stari :)
 
Odgovor na temu

osmania
Panet

Član broj: 26316
Poruke: 773
*.20.11.vie.surfer.at.



+7 Profil

icon Re: rekurzija code nejasan?05.12.2007. u 09:25 - pre 198 meseci
jutro svima, de mi recite sta se ovde desava dodjem do pola i dalje ne mogu da skontam kojom forom dobije broj 6 hvala puno!!!


Code:
#include<iostream>
using namespace std;
int k = 1;
int f(int k) {
if (k == 0) return k;
else {
::k = ::k + 1;
int m = f(k-1);
return ::k + m;
}
}
int main() {
cout << f(2);
}
 
Odgovor na temu

perun_
Nemanja Andjelkovic
Banglades

Član broj: 151779
Poruke: 115
212.62.55.*

Sajt: 127.0.0.1


Profil

icon Re: rekurzija code nejasan?05.12.2007. u 21:27 - pre 198 meseci
Prvo, taj kod nece vratiti nista dok u main ne stavis
Code:
return 0

Inace:
Poziva se f(2)
Povecava se ::k na 2
m=f(1)
sada da nadjemo f(1):
povecava se se k na 3, i vraca da je f(1)=3
Sto znaci da je m=3 i u sledecem koraku: f(2)=::k+m=3+3=6

Jos nisi naucio rekurziju? tztztzt
Ne treba ciljati u metu vec metati u cilj
 
Odgovor na temu

osmania
Panet

Član broj: 26316
Poruke: 773
*.20.11.vie.surfer.at.



+7 Profil

icon Re: rekurzija code nejasan?06.12.2007. u 12:36 - pre 198 meseci
ja ja ja mislim da je nikada necu skontati toliko me to shit buni nemoguce, ostalo sve ok ali ovo brrr.
hvala puno :)
 
Odgovor na temu

perun_
Nemanja Andjelkovic
Banglades

Član broj: 151779
Poruke: 115
212.62.55.*

Sajt: 127.0.0.1


Profil

icon Re: rekurzija code nejasan?06.12.2007. u 22:21 - pre 198 meseci
Vec sam te savetovao da se ne opterecujes previse rekurzijom. Retko kada ce ti biti potrbna, a i "leci' ce do tada..

Nema na cemu
Ne treba ciljati u metu vec metati u cilj
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: rekurzija code nejasan?

[ Pregleda: 2174 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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