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.
#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;
}
Răspunsuri la întrebare
Răspuns de
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
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
Limba română,
8 ani în urmă
Istorie,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Franceza,
9 ani în urmă