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

imi puteti explica pas cu pas problema aceasta? multumesc anticipat

Anexe:

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
1

Răspuns:

25

Explicație:

Prima oara, din main() se face apelul la test(tab,1,1).

Deoarece tab(1,1) nu are valoarea nula, o adauga la x

x = 0 + 8

Deoarece i - 1>=0 este adevarata, face apelul la test(tab, 0, 1). test(tab,0,1) adauga 7 la x:

x = 8 + 7 = 15

Face apelul la test(tab,1,1). deoarece tab[1][1] = 0, se intoarce la apelul test(tab,0,1) si face apelul la test(tab,0,0);

x = 15 + 1 = 16.

test(tab,0,0) nu mai poate face niciun apel, deci se intoarce la apelul initial test(tab,1,1).

test(tab,1,1) face apelul la test(tab,2,1) tab[2][1] este nul si nu intra in conditie.

Se intoarce iar la apelul initial test(tab,1,1), care face apelul test(tab,1,0)(nenul):

x = 16 + 2 = 18.

test(tab,1,0) apeleaza test(tab,1,0) (care e nul), se intoarce, apeleaza test(tab,2,0):

x = 18 + 3 = 21

Apelul test(tab,2,0) apeleaza test(tab,1,0) (nul, se intoarce) si test(tab,3,0):

x = 21 + 4 = 25

Apoi toate apelurile care se mai fac au elemente nule in matrice, pana cand se ajunge inapoi in main, care afiseaza valoarea 25.

Alte întrebări interesante