som začiatočník v C++. Napísal som program, na výpočet koreňov z kvadratickej rovnice. Neviem, kde mam chybu. Pri zadaní čísiel mi program vypočíta diskriminant ako keby to bolo b*b - a potom mi aj korene zle vypočíta. Viete mi poradiť, kde je chyba? Pls potrebujem to na zajtra...
Dik
#include<iostream>
#include<math.h>
int main()
{
int signed a,b,c;
float D,x;
using namespace std;
cout<<"Program na vypocet korenov x1 x2 z kvadratickej rovnice ax^2 + bx +c = 0 "<<endl;
cout<<"Zadajte hodnotu a: ";
cin>>a;
cout<<"Zadajte hodnotu b: ";
cin>>b;
cout<<"Zadajte hodnotu c: ";
cin>>c;
if (a=0)
cout<<"Toto nie je kvadraticka rovnica!";
else
{
D= (b*b)-(4*a*c);
cout<<endl<<"Diskriminant zadanych hodnot je: "<<D<< endl;
if (D>0)
{
x= (-b +sqrt(D))/(2*a);
cout<<"Korene su: "<<endl<<"x1= "<<x<<endl;
x=(-b-sqrt(D))/(2*a);
cout<<"x2 = "<<x<<endl;
}
else
{
if (D=0)
{
x=(-b)/(2*a);
cout<<"Rovnica ma len jeden koren x: "<<x<<endl;
}
else
{cout<<"Diskriminant je zaporny. Rovnica nema riesenie."<<endl;
}
}
}
return 0;
}
if (a == 0) { .. }
if (D=0)
cout<<"Diskriminant je zaporny. Rovnica nema riesenie."<<endl;
formatovanie kodu je uzitocne :)