АК
Алексей Костенко

Помогите отладить программу на Си

#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

Ег
Егор

Проблема в том, что это код абсолютно другой программы хДДД
Эта программа находит значение функции в зависимоти от X на определенном отрезке с определенным шагом 🙂

An
Anton

Сперва найди максимальный элемент.
Проверь длинну массива - является ли она больше 2х (т. е. 3 или больше) . если условие выполнилось делай:

начинай обходить массив таким образом (начинай идти от 2го элемента (в смысле с 3-го, самый первый элемент имеет индекс 0))

if(mas<0 && mas[i-1]<0 && mas[i-2]<0) {mas=Max}
//Понятно в общем должно быть

Похожие вопросы
Помогите написать программу на языке СИ/СИ++!!
помогите, проверьте программу на си++
Помогите, пожалуйста, составить программы. Тема массивы. Язык Си.
помогите с лабой по С (си)
программа со стеками (язык Си)
помогите отладить комп
Программа на си. Помогите
Помогите отладить код программы на C++.
помогите написать программу на Си.
Помогите с программой в СИ++.