Я пытаюсь написать код, который просит пользователя дать 5 коэффициентов для полинома 5-й степени, а также просит дать диапазон (два значения), который программы проверяют, есть ли в нем решение или нет (меня попросят найти только одно), и решение должно быть целым числом, а коэффициенты могут быть поплавками.Код для поиска одного корня полинома пятой степени
Я подумываю написать код, который пробегает любое целое число в диапазоне и подставлять его в описание многочлена, чем я определяю, и проверить, равен ли он нулю, но я застрял при принятии решения о том, как сделать петли.
И еще одно, если в интервале, который вводит пользователь, есть несколько корней, тогда мы должны напечатать минимальное значение корней (но у меня нет никакого направления, как это сделать).
Я покажу вам, что я написал до сих пор, и любой вид помощи был бы оценен:
#include <stdio.h>
#define zero 0.00001
int main()
{
double a, b, c , d , e , f , y , beginning_of_range, end_of_range;
int x;
printf("please enter the coefficients of the polynomial:\n");
scanf("%lf%lf%lf%lf%lf", &a, &b, &c, &d, &e);
printf("please enter two values to indicate the beginning and end of range:\n");
scanf("%lf%lf", &beginning_of_range, &end_of_range);
while (beginning_of_range > end_of_range)
{
printf("ERROR: the range you have entered isn't valid, please try again:");
scanf("%lf%lf", &beginning_of_range, &end_of_range);
}
while (beginning_of_range < end_of_range)
{
x = beginning_of_range;
y = a + b*x + c*x*x + d*x*x*x + e*x*x*x*x + f*x*x*x*x*x;
if (y == zero)
{
printf("the root is:%d", x);
}
else
{
x = x+1;
}
break;
}
return 0;
}
Продолжайте, закончите свой код. Кажется, кто-то прав. Подумайте, что вам нужно только выйти из цикла, если вы найдете решение. Вы знаете политику SO по предоставлению прямого решения домашней работы ... – XapaJIaMnu
im не запрашивает решение, только направление –
'if (y == zero)' это неправильно. Вместо этого вы должны проверить, что абсолютное значение 'y' меньше нуля. Кстати, в вашем коде 'zero' никогда не бывает 0, поэтому лучше переименуйте его. Общим именем для этого типа константы/переменной является «epsilon». Вы должны иметь в виду, что один (почти) никогда не использует '==' с поплавками. – fjardon