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

VI. Tworzenie warunków prostych if ... else

Ostatnio zmodyfikowano 2008-03-11 20:49
Autor Wiadomość
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:
C/C++
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:
C/C++
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.
P-364
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:
C/C++
d = 0; //Instrukcja przypisania
d == 0; //instrukcja porównania

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]
P-365
Blackmailer
Temat założony przez niniejszego użytkownika
» 2008-03-11 20:49:18
Ah no tak to wszystko wyjasnia. Dzieki wielkie!
P-366
« 1 »
  Strona 1 z 1