Найти корни уравнения - C (СИ) (71206)
Формулировка задачи:
Не могу разобраться с задачей по серийным экспериментам. Необходимо найти корни уравнения. При этом каждая из переменных a,b,c,d может задаваться как отрезок с несколькими значениями( задается начальное значение, шаг и конечное значение). Требуется вычислить все возможные результаты и вывести их. (Если например каждая из переменных примет 4 значения то всего, если не ошибаюсь, будет 16 исходов.) Но как это реализовать...пока не знаю...Здесь только задача как найти корень если a,b,c,d принимает по одному значению.
#include <stdio.h>
#include <math.h>
#include <conio.h>
double func(double x,double a, double b, double c, double d)
{
return (a*x*b+c*x*d);
}
int main()
{
int n=0;
double a; // переменная
double b; // переменная
double c; // переменная
double d; // переменная
double j; // координата отрезка поиска корня
double g; // координата отрезка поиска корня
double u; // вспомогательная переменная
double eps; // абсолютная погрешность
printf("j=");
scanf("%f", &j);
printf("g=");
scanf("%f", &g);
printf("eps=");
scanf("%f", &eps);
printf("a=");
scanf("%f", &a);
printf("b=");
scanf("%f", &b);
printf("c=");
scanf("%f", &c);
printf("d=");
scanf("%f", &d);
if (func(j,a,b,c,d)*func(g,a,b,c,d)<=0)
do
{
u=(j+g)/2;
if (func(u,a,b,c,d)*func(j,a,b,c,d)<=0)
g=u;
else j=u;
n+=1;
printf("n=%d\n", n);
printf("u=%lf\n", u);
}
while (fabs(j-g)>=eps);
else {
printf( "Neverno zadany nachal'nye usloviya\n" ); // если ни одно из выше-перечисленных условий не подошло
}
getch();
return 0;
}Решение задачи: «Найти корни уравнения»
textual
Листинг программы
int n, step1, step2, step3, step4; double N, M, Q, R;