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|" # jakies biblioteki
main() { for(;; ) { cout << "Podaj a:" << endl; cin >> a; cout << "Podaj b:" << endl; cin >> b; int nwd( int a, int b ) { 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 ); } }
|
|
michal11 |
» 2015-12-02 18:12:33 Nie można definiować funkcji w funkcji. |
|
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 ? :/ |
|
carlosmay |
» 2015-12-02 18:40:23 wynik = nww * nwd / a * b tak nie wywołujemy funkcji. Proponuję przeczytać rozdziały o funkcjach. |
|
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() . |
|
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: int nwd( int k, int l ) { 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 ); } main() { }
|
|
pekfos |
» 2015-12-02 19:00:36 int nww( int n, int m ) { return n * m / nwd( k, l ); }
|
Najwyraźniej dalej nie rozumiesz, jak wywołuje się funkcje. Funkcje - pierwsze starcie |
|
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 int nww( int n, int m ) { return n * m / nwd( n, m ); } |
|
« 1 » 2 |