Rekurencja i odwołanie do stosu Wywołań

0

Cześć

Słuchajcie mam pewne pytanie jak się odwołać się do wcześniejszych wywołań rekurencyjnych? Bo chodzi o to że mam program który rekurencyjnie pobiera od użytkownika liczby naturalne i ma je wyświetlić w odwrotnej kolejności niż podano. Warunek: Nie można używać żadnych tablic ani innego typu kolekcji.

Z góry dzięki

4

szczytaj liczbe. Jesli jest cos na wejsciu, wywolaj te funkcje. Wyswietl liczbe

4

Nie rozumiesz idei rekurencji. Potrzebujesz najprostszej postaci rekurencji do tego zadania:

pobierzWyswietl()
{
    pobierz();

    if (kontynuowac)
        pobierzWyswietl();

    wyswietl();
}
0

wg mnie mój program wykonuje się rekurencyjnie. sam zobacz:

#include <iostream>
using namespace std;
// preprocessor macros
void rekur(int i) {

cout<<"przed blokiem"<<endl;
if(i != 0){
	cout<<"Podaj wartosc"<<endl;
	cin>>i;
	cout<<i<<endl;
	rekur(i);
}else{
	return;
}

}

int main() {
rekur(1);
}

0
#include <iostream>
using namespace std;
// preprocessor macros
void rekur(int i) {

    cout<<"przed blokiem"<<endl;
    if(i != 0){
    	cout<<"Podaj wartosc"<<endl;
    	cin>>i;
    	cout<<i<<endl;
		rekur(i);
    }else{
    	return;
    }
}

int main() {
	rekur(1);
}

teraz jest czytelnie

0

i co. Po tych poprawkach nie wiele się zmieniło.

#include <iostream>
using namespace std;
// preprocessor macros
void rekur(int i) {
	
	cout<<"Podaj wartosc"<<endl;
    cin>>i;
    cout<<i<<endl;

    if(i != 0){
		rekur(i);
    }else{
    	return;
    }
}

int main() {
	rekur(1);
}
0

wyświetlanie jest do sprawdzenia czy działa

a mnie głównie chodzi o to że jak podamy 1, 2, 3, 4, 5

to wyświetli 5, 4, 3, 2, 1. ale nie wiem jak się odwołać do poprzednich wartości zmiennej i

1

Ah... Żeby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję.

0

ale ja ją rozumiem

1

Eh. Zamień w swoim pierwszym programie linie

cout<<i<<endl;
rekur(i);

na

rekur(i);
cout<<i<<endl;
0

trzeba było od razu mówić

aj sorry działa

i dzięki za pomoc

0

żeby się nauczyć trzeba zobaczyć

0

żeby się nauczyć trzeba zobaczyć

0

''!!!Dwie pierwsze odpowiedzi bezpośrednio przedstawiają rozwiązanie problemu
Jesli problem uważasz za rozwiązany - zaznacz faję poprawnej odpowiedzi!!!''

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.