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

funkcja rekurencyjna w innej funkcji

Ostatnio zmodyfikowano 2015-12-02 21:08
Autor Wiadomość
razenas
Temat założony przez niniejszego użytkownika
funkcja rekurencyjna w innej funkcji
» 2015-12-02 17:59:37
Witam, może mi ktoś wyjaśnić dlaczego moja funkcja nie działa(ogolnie żadna z rekurencja) Chociaz uzyte przeze mnie funkcje moge zastapic iteracja, kiedys i tak musialbym sie nauczyc wrzucania rekurencji, wiec lepiej zrobic to teraz


bląd: " a function-definition is not allowed here before '{' token|"
C/C++
# jakies biblioteki

main()
{
    for(;; )
    {
        cout << "Podaj a:" << endl;
        cin >> a;
        cout << "Podaj b:" << endl;
        cin >> b;
       
        int nwd( int a, int b ) //TUTAJ BLAD
        { // TUTAJ
            if( a == b ) return a;
           
            if( a > b ) return nwd( a - b, a );
           
            return nwd( a, b - a );
        }
       
        int nww( int a, int b )
        {
            return a * b / nwd( a, b );
        }
        wynik = nww * nwd / a * b
        cout << wynik;
        system( "pause" );
        return( 0 );
    } //koniec for
} //koniec main
P-141308
michal11
» 2015-12-02 18:12:33
Nie można definiować funkcji w funkcji.
P-141311
razenas
Temat założony przez niniejszego użytkownika
» 2015-12-02 18:14:15
próbowałem dodać nww i nwd przed funkcja main ale wyskakiwalo, że program przestal odpowiadac. Co zrobic aby moc uzyc tych funkcji ? :/
P-141312
carlosmay
» 2015-12-02 18:40:23
wynik = nww * nwd / a * b
 tak nie wywołujemy funkcji. Proponuję przeczytać rozdziały o funkcjach.
P-141316
carlosmay
» 2015-12-02 18:46:41
Nie można definiować funkcji w funkcji
 Funkcje przed main'a.

Popraw wywołania funkcji i daj int   przed main() .
P-141317
razenas
Temat założony przez niniejszego użytkownika
» 2015-12-02 18:49:14
czy to oznacza, że jesli napisalbym
wynik=nww(a,b)*nwd(a,b)

a przed funkcja main napisałbym cos takiego:
 
C/C++
int nwd( int k, int l ) // musze pisac z int ? czy wystarczy, że zmienna a i b sa zadeklarowane jaki int ?
{
    if( k == l ) return k;
   
    if( k > l ) return nwd( k - l, k );
   
    return nwd( k, l - k );
}

int nww( int n, int m )
{
    return n * m / nwd( k, l ); //TUTAJ MAM WATPLIWOSCI
}
main()
{
}
P-141318
pekfos
» 2015-12-02 19:00:36
C/C++
int nww( int n, int m )
{
    return n * m / nwd( k, l ); //TUTAJ MAM WATPLIWOSCI
}
Najwyraźniej dalej nie rozumiesz, jak wywołuje się funkcje.
» Kurs C++ » Poziom 2Funkcje - pierwsze starcie lekcja
P-141319
razenas
Temat założony przez niniejszego użytkownika
» 2015-12-02 19:58:34
" nazwa_funkcji( wartosc_argumentu_1 /*,...*/, wartosc_argumentu_n ); "

za duzo to tam nie napisali, wartosc argumentu, zamiast podawac praktyczne przyklady podaja ogolne, albo takie które sie nie przydadza...

ostatecznie moge napisac tak, bo juz chyba nie zostawiliscie mi innych mozliwosci
C/C++
int nww( int n, int m )
{
    return n * m / nwd( n, m );
}
P-141325
« 1 » 2
  Strona 1 z 2 Następna strona