Funkcja kwadratowa
Ostatnio zmodyfikowano 2018-10-28 21:20
Virthel Temat założony przez niniejszego użytkownika |
Funkcja kwadratowa » 2018-10-28 11:40:32 Witam. Mam za zadanie napisać program liczący funkcję kwadratową, w której użyje minimum 5 razy instrukcji if. Tak wygląda mój program: #include <iostream> #include <math.h> #include <conio.h>
using namespace std;
int main()
{ float a, b, c, z, delta, x1, x2, x0; cout << "Jest to program liczacy funkcje kwadratowa" << endl; cout << "Podaj a,b i c" << endl; cin >> a; cin >> b; cin >> c; if( a == 0 && b == 0 && c != 0 ) { cout << "Rownanie jest sprzeczne" << endl; _getch(); return 0; } if( a == 0 && b != 0 && c != 0 ) { cout << "Nie jest to funkcja kwadratowa, lecz liniowa" << endl; z = c / b; cout << "Wynikiem tego rownania jest: " << z << endl; _getch(); return 0; } delta =( b * b ) - 4 * a * c; if( delta < 0 ) { cout << "Delta jest mniejsza od zera, wiec funkcja nie ma miejsc zerowych"; } else if( delta > 0 ) { x1 =( - b -( sqrt( delta ) ) ) /( 2 * a ); x2 =( - b +( sqrt( delta ) ) ) /( 2 * a ); cout << "Delta jest rowna: " << delta << endl; cout << "Pierwiastkami rownania sa liczby: " << endl; cout << x1 << endl; cout << x2 << endl; } else if( delta == 0 ) { x0 =( - b /( 2 * a ) ); cout << "Delta jest rowna 0 wiec ma jedno rozwiazanie: " << x0 << endl; } _getch(); return 0; } Nauczyciel mi powiedział, że jest tu jeden błąd przez który mi nie uzna tej pracy. Kompilator działa poprawnie. Byłbym wdzięczny za znalezienie tego błędu, gdyż sam spędziłem godzinę szukając go i nie znalazłem. Z góry dziękuję! :) |
|
pekfos |
» 2018-10-28 12:16:52 Dla samych zer masz dzielenie przez zero. |
|
Virthel Temat założony przez niniejszego użytkownika |
» 2018-10-28 13:38:29 Mógłbyś wskazać dokładnie w którym miejscu? Gdyż nie za bardzo rozumiem. |
|
ksardias |
» 2018-10-28 16:21:57 Co dla przypadku gdy 'a' 'b' i 'c' jest równe 0 ? Program liczy deltę wychodzi 0 więc liczy x0 a tam dzieli przez 0 i jest błąd |
|
Virthel Temat założony przez niniejszego użytkownika |
» 2018-10-28 19:27:34 Czyli wystarczy, że dodam kolejnego if w którym zawrę warunek gdy a, b, c są równe 0, tak? |
|
ksardias |
» 2018-10-28 21:20:43 na pewno tego brakuje, czy coś jeszcze to nie chce mi się sprawdzać :) |
|
« 1 » |