Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Best gaming laptop?

Humane (2024)

Recomandare casti 100-150 lei

Schimbare bec far VW Touran 1T3
 Plata impozit PF

Ce parere aveti de viteza/ modul ...

Love Lies Bleeding - 2024

Cum sterg mails din Promotions
 Vanzare cumparare fara transfer b...

Receptie ciudata, in functie de t...

Donez medicamente renale ptr pisica

Ce componenta e asta si ce ziceti...
 Dupa 20 ani de facultate, am uita...

Mobile.de ofera imprumut de bani ...

problema test grila

Digi24 a disparut de pe TV Lg
 

Functii recursive

- - - - -
  • Please log in to reply
26 replies to this topic

#19
phinkuletz

phinkuletz

    Junior Member

  • Grup: Members
  • Posts: 42
  • Înscris: 15.10.2008
urban, deci pur si simplu am luat codurile puse de tine si le-am dat paste intr-o pagina nou-nouta. Nu rezulta nimic.

#20
urban

urban

    Active Member

  • Grup: Members
  • Posts: 1,622
  • Înscris: 25.07.2002
daca pui intr-o pagina urmatorul cod:

<?PHP
phpinfo();
?>

ce iti afiseaza?

#21
phinkuletz

phinkuletz

    Junior Member

  • Grup: Members
  • Posts: 42
  • Înscris: 15.10.2008
No, gata ca am reusit... urban, am vreo cateva site-uri facute cu php si care ruleaza din localhost fara probleme, deci si codurile voastre, daca ar fi corecte ar trebui sa mearga. In fine, am reusit pana la urma cam asa:
function test($x) {
    if($x<=4) {
        return test(++$x);
    } else {
        return $x;
    }
}

echo test(0); // afiseaza 5

Va multumesc baieti pentru timpul acordat si pentru idei.;)

Edited by phinkuletz, 15 September 2009 - 14:22.


#22
Mr.Jinx

Mr.Jinx

    Gigant ca NY

  • Grup: Senior Members
  • Posts: 3,186
  • Înscris: 11.07.2006

View Postphinkuletz, on 15th September 2009, 15:19, said:

No, gata ca am reusit... urban, am vreo cateva site-uri facute cu php si care ruleaza din localhost fara probleme, deci si codurile voastre, daca ar fi corecte ar trebui sa mearga. In fine, am reusit pana la urma cam asa:
function test($x) {
    if($x<=4) {
        return test(++$x);
    } else {
        return $x;
    }
}

echo test(0); // afiseaza 5

Va multumesc baieti pentru timpul acordat si pentru idei.;)
deci cum era corect până la urmă? aud, aud??

Edited by Mr.Jinx, 15 September 2009 - 14:32.


#23
NLC

NLC

    Junior Member

  • Grup: Members
  • Posts: 31
  • Înscris: 12.01.2007

View Postphinkuletz, on 15th September 2009, 15:19, said:

No, gata ca am reusit... urban, am vreo cateva site-uri facute cu php si care ruleaza din localhost fara probleme, deci si codurile voastre, daca ar fi corecte ar trebui sa mearga. In fine, am reusit pana la urma cam asa:
function test($x) {
    if($x<=4) {
        return test(++$x);
    } else {
        return $x;
    }
}

echo test(0); // afiseaza 5

Va multumesc baieti pentru timpul acordat si pentru idei.;)
da...corect...trebuia pus return si pe prima ramura a if-ului... greseala mea ca nu am vazut.... observasem ca intra in ciclu infinit si apoi testasem cu printf si am obtinut 0 cum era si de dorit...alte teste nu am facut :)

#24
urban

urban

    Active Member

  • Grup: Members
  • Posts: 1,622
  • Înscris: 25.07.2002
Intra intr-un ciclu infinit nu pentru ca nu aveai return ci pentru ca ceea ce trimiteai catre functia test era exact aceeasi valoare de fiecare data.

test($x++) sau test($x--) este de fapt:

test($x);
$x++

sau

test($x);
$x--

Si cu si fara return tot intr-un ciclu ai fi ramas pentru ca de fapt return-ul tau nu facea decat un fel de:

function test($x);
if ($x<4) {
 return test($x);
 $x++; (sau $x--)
}

caz in care if-ul era intotdeauna adevarat pentru x < 4 (eg. test(0));

#25
phinkuletz

phinkuletz

    Junior Member

  • Grup: Members
  • Posts: 42
  • Înscris: 15.10.2008
function test($x) {
if($x >= 1) {
return test($x-1); // sau $x--, n-are importanță aici
}
else
return $x;
}

echo test(4);
Asa e, Mr.Jinx, ai fost cel mai aproape de adevar. De fapt, codul tau e bun, dar comentariu facut e gresit.:) In cazul de fata "x-1"!="x--". Daca nu ma crezi, testeaza urmatorul cod schimband x+1 cu x++ :
function test($x) {
if($x<=4)
return test($x+1);
else
return $x;
}
echo test(0); // ar trebui sa afiseze 5



View Posturban, on 15th September 2009, 17:39, said:

Intra intr-un ciclu infinit nu pentru ca nu aveai return ci pentru ca ceea ce trimiteai catre functia test era exact aceeasi valoare de fiecare data.

test($x++) sau test($x--) este de fapt:

test($x);
$x++

sau

test($x);
$x--

Si cu si fara return tot intr-un ciclu ai fi ramas pentru ca de fapt return-ul tau nu facea decat un fel de:

function test($x);
if ($x<4) {
 return test($x);
 $x++; (sau $x--)
}

caz in care if-ul era intotdeauna adevarat pentru x < 4 (eg. test(0));
Iti dau dreptate.

#26
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Asta Ii spusesem si eu

View PostOriginalCopy, on 15th September 2009, 14:01, said:

preincrementeaza

LE: altfel nu intra in recursiune cu noua valoare. Vezi "pass by value" si "pass by reference".
dar cred ca trebuie sa repetam de mai multe ori acelasi lucru pana se observa... :thumbdown:


Ca si incepator, cand ti se spune ceva si nu intelegi, nu te uita in partea cealalta, ci cere explicatii ;)

#27
phinkuletz

phinkuletz

    Junior Member

  • Grup: Members
  • Posts: 42
  • Înscris: 15.10.2008

View PostOriginalCopy, on 15th September 2009, 18:00, said:

Asta Ii spusesem si eudar cred ca trebuie sa repetam de mai multe ori acelasi lucru pana se observa... :thumbdown:


Ca si incepator, cand ti se spune ceva si nu intelegi, nu te uita in partea cealalta, ci cere explicatii ;)
OriginalCopy, chiar luasem in calcul sfatul tau(pre=inainte), dar nu pusesem return, deci...

Edited by phinkuletz, 15 September 2009 - 15:28.


Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate