Witam,
chce napisac program obliczajacy miejsca zerowe funkcji kwadratowej i napisałem takie cos:
#include<iostream>
#include<conio.h>
#include<cmath>
using namespace std;
float pow(float base, float exponent);
float delta, delta2;
float row(float a, float b, float c)
{
if (a==0 && b!=0) return -c/b;
if (a!=0)
{
delta=pow(b,2) - 4*a*c; delta2=sqrt(delta);
if (delta>0) return (-b-delta2)/(2*a) && (-b+delta2)/(2*a);
if (delta==0) return -b/(2*a);
}
}
int main()
{
float a,b,c;
cout<<"Podaj wspolczynnik a: ";
cin>>a;
cout<<"Podaj wspolczynnik b: ";
cin>>b;
cout<<"Podaj wspolczynnik c: ";
cin>>c;
if (a==0)
if (b==0)
if (c==0) cout<<"Rownanie posiada nieskonczenie wiele rozwiazan. "<<endl;
else cout<<"Rownanie nie posiada rozwiazania. "<<endl;
cout<<"Rozwiazanie: "<<row(a,b,c)<<endl;
getch();
return 0;
}
Jednak wystąpiły dwa problemy:
- Wychodzi mi ciagle wynik 5.3465e+036
- Oraz nie wiem jak zrobic zeby dla delty ujemnej wyswietlał sie napis, ze dane rownanie nie ma rozwiazan
No i czy przez zastosowanie koniunkcji zwroci mi dwie wartosci? (13 linijka)
Z góry dzięki
Pozdrawiam