Я пишу функцию в C с указанными ниже характеристиками:С программой, чтобы найти корни ошибки
float find_root(float a, float b, float c, float p, float q);
find_root
принимает коэффициенты а, Ь, с квадратного уравнения и интервала (P, Q). Он вернет корень этого уравнения в данном интервале.
Например: find_root(1, -8, 15, 2, 4)
должен производить корень «близкий к» 3,0
Я написал код, приведенный ниже, и я не понимаю, почему он не работает:
#include<stdio.h>
#include<math.h>
main()
{
printf("Hello World");
}
float find_root(float a, float b, float c, float p, float q) {
float d,root1,root2;
d = b * b - 4 * a * c;
root1 = (-b + sqrt(d))/(2* a);
root2 = (-b - sqrt(d))/(2* a);
if (root1<=q || root1>=p)
{
return root1;
}
return root2;
}
Пожалуйста, дайте я знаю, что это за ошибка.
Вы должны скомпилировать все предупреждения и информацию об отладке ('gcc -Wall -Wextra -g'), затем ** использовать отладчик ** (' gdb') для запуска вашего кода шаг за шагом. –
Пожалуйста, определите 'не работает'. У вас есть 'main()'? Почему бы нам не показать? Вы ссылаетесь на '-lm'? Почему бы нам не сказать? –
@BasileStarynkevitch Привет, я попробовал, что не смог исправить ошибку. Я хотел бы подтвердить, нужно ли изменять параметры отладчика, или что-то не так с самим кодом – KLMM