Witam! mam pewien problem.
Mam do napisania program liczący f. kwadratową.
Ma być prosto samymi if else...
Napisałem tak i wywala jeden błąd...
//Dev-C++ 4.9.9.2#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <math.h>int main() { double a,b,c;double delta,x,x1,x2;double eZero; printf("Program obliczajacy rownania postaci Ax2BxC;)\n\n");printf("Podaj wspolczynnik a: "); scanf("%f",&a);printf("Podaj wspolczynnik b: "); scanf("%f",&b);printf("Podaj wspolczynnik c: "); scanf("%f",&c);printf("Zakres eZero - zero maszynowe, (postaci 1E^x) gdzie x jest potega:"); scanf("%f", &eZero);//Wczytanie wspolczynnikow a,b,c oraz zakresu(zera maszynowego)if (a==0) {if (b==0) {if (c!=0) printf("a=0 --> jest to funkcja liniowa\n\n b=0 i c jest rozne od 0 --> rownanie sprzeczne\n\n"); } else {printf("Rownanie liniowe tozsamosciowe. Posiada ono nieskonczenie wiele rozwiazan\n\n"); } } else { x=(-c/b); printf("Rownanie liniowe oznaczone z jednym rozwiazaniem:\n\n x=%f\n\n",x); } else { printf("a=0 --> jest to funkcja kwadratowa"); delta=b*b-4*a*c; if (delta==0) // Delta = 0 {x1=-b/(2*a); printf("delta=0\n\n"); printf("Rownanie posiada jeden pierwiastek podwojny: x= %f\n\n",x1); } else [b]<---------- -tutaj!! [/b] expected primary-expression before"else" if (delta>0) //Delta > 0 { x1=(-b+sqrt(delta))/(2*a); x2=(-b-sqrt(delta))/(2*a); printf("delta= %f", delta); printf("Rownanie posiada 2 pierwiastki rzeczywiste:\nx1=%f\nx2=%f\n\n",x1,x2); } else // Delta < 0 (pierwiastki zespolone) {printf("Delta mniejsza od zera --> pierwiastki zespolone : %f + (%f)i\n\n",((-b)/(2*a)),(sqrt(fabs(delta)))/(2*a)); printf("Delta mniejsza od zera --> pierwwiastki zespolone : %f - (%f)i\n\n",((-b)/(2*a)),(sqrt(fabs(delta)))/(2*a)); gechar(); }} return 0;}
Co moze byc nie tak?
Z góry dzięki!!!