Ahoj, s programováním teprve začínám, proto bych byl moc rád kdyby mi někdo doladil program na výpočet kořenů kvadratické rovnice.
#include <stdio.h>
#include <math.h>
int main(void)
{
double x1, x2, x, xlin, r, i, a, b, c;
printf("\nVypocet korenu kvadraticke rovnice - ax^2+bx+x=0");
printf("\nZadej cleny kvadraticke rovnice a,b,c:");
while(scanf("%lf %lf %lf", &a, &b, &c) !=3)
{
printf("zadej cisla!\n");
fflush(stdin);
}
printf("n\%.0lfx^2+%.0lfx+%.0lf=0",a,b,c);
if(a==0)
{
printf("\nRovnice neni kvdaraticka: \n");
xlin=-(c/b);
printf("x = %lf\n",xlin); return 0;
}
double D;
D=(pow(b,2)-(4*a*c));
int A= (1* (D==0)) + (2* (D>0)) + (4 * (D<0));
switch(A)
{
case 1:
printf("\nRovnice ma jeden koren\n");
x=(-b+sqrt(D))/(2*a);
printf("x=%lf\n",x);
break;
case 2:
printf("\nRovnice ma dva realne koreny: \n");
x1=(-b+sqrt(D))/(2*a); x2=(-b-sqrt(D))/(2*a);
printf("x1=%lf\n",x1); printf("x2=%lf\n",x2);
break;
case 3:
printf("\nRovnice ma dve komplexni reseni \n"); r=-b/ (2*a);
i=sqrt (fabs(D))/ (2*a);
printf("\nf1=%.2lf + %.2lf*i",r,i);
printf("\nf2=%.2lf - %.2lf*i\n\n",r,i);
break;
}
return 0;
}
Při spuštění zadám čísla, vypíše se rovnice a tím to končí. Šlo by to možná napsat i jednodušším způsobem, potřeboval bych to ale takhle. Předem děkuji.