Informatică, întrebare adresată de iyuwi, 8 ani în urmă

putin ajutor la acest exercitiu, c++
cu explicatii cum ati ajuns la rezultat​

Anexe:

irinelbro: Fii atent, tie ti-a dat deja tot void-ul, deci nu mai trebuie sa scrii functia in sine. Acum foloseste f(3) intr-o alta functie. Vei observa ca, daca folosesti f(3), iti va iesi 121131211212111, care este varianta b.
irinelbro: Exeplu de script:

#include

using namespace std;

void f (int n) {
int i;
for (i = n; i >= 1; i--)
{
f (n - 1);
cout << i;
}
}

int main () {
f(3);
return 0;
}
iyuwi: da brothere asta știu deja, dar eu nu obt b, ca stiam deja ca b ul e corect
iyuwi: eu am nevoie de o poza cu rez
iyuwi: cum ajungi la b

Răspunsuri la întrebare

Răspuns de Mghetes
0
Raspuns: b

Ideea e ca, se merge din apel in apel, pana ajungem la n=0, apoi te intorci si incepi sa afisezi valoarea lui i.

F(0) nu intra in for deci nu face nimic

F(1)
Pt i = 1 apeleaza f(0) cand iese scrie 1
Cumf(0) nu afiseaza nimic,

Deci F(1) afiseaza 1

F(2)
i=2 apeleaza f(1) cand iese scrie 2
Deci scrie: 1 2
i = 1 apeleaZa f(1) cand iese scrie 1
Deci scrie 1 1

Deci f(2) scrie: 1 2 1 1

F(3)

i=3 apeleaza f(2) cand iese scrie 3
Deci scrie: 1 2 1 1 3

i=2 apeleaza f(2) cand iese scrie 2
Deci scrie: 1 2 1 1 2

i = 1 apeleaZa f(2) cand iese scrie 1
Deci scrie 1 2 1 1 1

Deci f(3) scrie: 1 2 1 1 3 12 1 1 2 1 2 1 1 1
Alte întrebări interesante