Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Rekurencja

Ostatnio zmodyfikowano 2013-08-21 23:01
Autor Wiadomość
Matej
» 2013-08-21 22:49:34
Tak będzie prawidłowo wg mnie:

C/C++
#include <iostream>
#include <conio.h>
using namespace std;
void Odliczanie( int i );

int main()
{
    Odliczanie( 10 );
    getch();
    return 0;
}

void Odliczanie( int i )
{
    cout << "Rakieta startuje za "
    << i << " sek.\n";
    if( i > 0 ) // Funkcja jest wywolywana 10 razy az i osiagnie wartosc 0.
         Odliczanie( i - 1 );
   
    if( i == 0 )
         cout << i << ". Start zgodny z planem\n";
   
}
P-90727
MrPoxipol
» 2013-08-21 23:01:31
Prościej tak (bez zbędnych if'ów):
C/C++
void odliczanie( int i )
{
    if( i < 1 )
    {
        cout << "wystartowala" << endl;
        return;
    }
    cout << "wystartuje za " << i << endl;
    odliczanie( i - 1 );
}

Funkcja wykona się tyle razy ile podasz w argumencie, czyli dla odliczanie(10) będzie to 10 razy - odpowiednio 9 razy informacja ile pozostało, a na samym końcu info o wylocie. Możesz poszukać w internecie innych przykładów rekurencji. Dla przykładu - algorytm rozrostu ziarna.
P-90731
1 « 2 »
Poprzednia strona Strona 2 z 2