Помогите отладить программу на Си
#include
#include
main()
{
float a,b,c,F,xn,xk,dx,x;
printf("Введите значение X: \t");
scanf("%f",&x);
printf("Введите значение Xнач: \t");
scanf("%f",&xn);
printf("Введите значение Xкон: \t");
scanf("%f",&xk);
printf("Введите шаг: \t\t");
scanf("%f",&dx);
printf("Введите значение A: \t");
scanf("%f",&a);
printf("Введите значение B: \t");
scanf("%f",&b);
printf("Введите значение C: \t");
scanf("%f",&c);
printf("|\t~~x~~\t\t|\t~~F~~\t\t|\n");
for (x=xn; x<=xk; x+=dx)
{if (a<0 && c!=0) {F=a*(x*x)+b*x+c;}
else {if (a>0 && c==0) {F=(-a)/(x-c);}
else {F=a*(x+c);}
}
printf("|\t%f\t|\t%f\t|\n", x,F);
}
getchar();
}
Собственно код программы, где в массиве она находит 3 подряд идущих отрицательных элемента и заменяет их на максимальный элемент массива. Проблема в том, что она не работает при вводе всех отрицательных чисел. И если ввести 1 отрицательный элемент массива (заменяет его на максимальный тоже) . Помогите отладить.
Компилятор GCC Linux