برنامج حل معادلة من الدرجة الثانية وايجاد حلولها وهي من الشكل
" Ax^2 + Bx + c = 0 "
بلغة الـ C بكافة حالاتها …
[SIZE=4]#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char **argv[])
{
float a=0,b=0,c=0,delta=0;
float x1=0,x2=0;
char k;
printf("
WE ARE GOING To SOLVE THE EQUATION :
");
printf("
ax^2+bx+c=0
delta=b^2+4ac
");
printf("
x1=(-b-sqrt(delta))/(2*a)
x2=(-b+sqrt(delta))/(2*a)
");
printf("***********************************************************************
");
printf(" a= ");
scanf("%f",&a);
printf("
b= ");
scanf("%f",&b);
printf("
c= ");
scanf("%f",&c);
printf("
***********************************************************************
");
if(a==0)
{
if(b==0)
{
if(c==0)
printf("ROOT IS ANT VALUE!!!");
else
printf("IT IS IMPOSIBUL!!!");
}
else
if(c==0)
printf("
%2.2fx=0
ROOT IS x=0",b);
else
{
printf("%2.2fx+%2.2f=0",b,c);
x1=-c/b;
printf("
ROOT IS x=%2.2f",x1);
}
}
else
if(b==0)
{
if(c==0)
{
printf("
%2.2fx^2
ROOT ISx=0",a);
}
else
if( ( (c<0)&&(a>0) )||( (c>0)&&(a<0) ) )
{
printf("
%2.2x^2+%2.2f=0",a,c);
x1=sqrt(-c/b);
printf("
ROOTS ARE x1=%2.2f x2=%2.2f",x1,x2);
}
else
printf("
WE CAN NOT SOLVE IT IN REAL SPASE!!!
");
}
else
if (c==0)
{
printf(" %2.2fx^2 + %2.2fx =0",a,b);
x1=0;
x2=-b/a;
printf("
x1=%2.2f x2=%2.2f
",x1,x2);
}
else
{
printf("%2.2x^2+%2.2fx+%2.2f=0",a,b,c);
delta=pow(b,2)-4*a*c;
if(delta>0)
{
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf("
delta=%2.2f
WE HAVE TWO ROOTS:
x1=%2.2f x2=%2.2f
",delta,x1,x2);
}
else
if(delta==0)
{
x1=-b/(2*a);
printf("
delta=%2.2f
ROOTS ARE: x1=x2=%2.2f",delta,x1);
}
else
if(delta<0)
printf("
delta = %2.2f
WE CAN NOT SOLVE IT IN REAL SPASE!!!
",delta);
}
printf("
");
printf("*********************************END***********************************
");
printf(" //by jonior eng.GaRa//
");
system("PAUSE");
return 0;
}
[/size]
تحياتي اصدقائي