Skocz do zawartości

Problem z rekurencją w języku C


Recommended Posts

Witam! Mam pewien problem z zamianą rekurencji na iteracje, siedzę już 2h i nic nie mogę wymyślić.

Napisz równoważny program iteracyjny:

1.
int fun(int *t, int n)
{
if(!n) return 1;
else {
int l = rand()%5;
cout << l << " " << t[n] << endl;
return t[n]-l+fun(t,n-1);
}
}
**********************************
2.
int fun(int *t, int n)
{ int A=0;
if(!n) return 1;
else {
A = t[n];
cout << t[n] << endl;
t[n] = fun(t,n-1);
cout << A << endl; 
}
}

 

Link to post
Share on other sites

Nikt za Ciebie nie zrobi zadania to po pierwsze.

Wiesz jak działa rekurencja ?

Rozpisz sobie jak program działa(a raczej podane funkcje) przy odpowiednim doborze zmiennych.

Jeżeli dokładnie przeanalizujesz działanie kodu, nie będzie problemem odpowiednie napisanie pętli(podpowiedź ^^)

Link to post
Share on other sites

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Odpowiedz w tym wątku...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...