VI. Tworzenie warunków prostych if ... else
Ostatnio zmodyfikowano 2008-03-11 20:49
Blackmailer Temat założony przez niniejszego użytkownika |
VI. Tworzenie warunków prostych if ... else » 2008-03-11 19:31:50 Zauważyłem pewien błąd. Po wklejeniu kodu do Dev-c++ i uzupełnieniu warunków tak jak powinno być (czyli "delta>0" i "delta=0") po wpisaniu zmiennych tak aby delta wyszła 0 (np. a=1, b=4, c=4) mimo wszystko pisze że nie ma miejsc zerowych ( a jest [-b/2*a]). Po godzinie kombinowania i szukania zauważyłem ze gdy zamiast drugiego warunku (delta=0) wstawi się delta<0, to wszystko działa poprawnie. Nie potrafię w sumie tego wytłumaczyć dlatego pisze o tym tutaj. Błędna wersja: if( d = 0 ) { cout << "Funkcja ma jedno miejsce zerowe." << endl; cout << "Miejsce zerowe: " <<( - b ) /( 2 * a ) << endl; } else { cout << "Funkcja nie ma miejsc zerowych." << endl; } Poprawna wersja: if( d < 0 ) { cout << "Funkcja nie ma miejsc zerowych." << endl; } else { cout << "Funkcja ma jedno miejsce zerowe." << endl; cout << "Miejsce zerowe: " <<( - b ) /( 2 * a ) << endl; } Edit: aha no tak dodałem jeszcze opcje aby od razu odnajdywał wartość x dla miejsca zerowego ale nie ma to znaczenia. |
|
DejaVu |
Błąd w obu rozwiązaniach, które dałeś a nie w działaniu kompilatora » 2008-03-11 19:37:52 [tutorial] Rozwiązanie #1:Twoje rozwiązanie zawiera błąd w warunku if: Rozwiązanie #2:[li]Nie uwzględnia gdy delta==0[/li] [li]Nie uwzględnia gdy delta>0[/li] /edit:Prawidłowe rozwiązanie dla tego zadania znajduje się na forum: http://ddt.pl/forum/?Tid=43[/tutorial] |
|
Blackmailer Temat założony przez niniejszego użytkownika |
» 2008-03-11 20:49:18 Ah no tak to wszystko wyjasnia. Dzieki wielkie! |
|
« 1 » |