Найти корни уравнения - 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д