Найти ошибку в коде вычисления функции - C (СИ) (71481)
Формулировка задачи:
Вот код
Код очень ужасно выглядит т.к не давно начали проходить СИ
Листинг программы
- #include<stdio.h>
- void main (void)
- {
- float a,b,c,Ac,Bc,Cc,y,x;
- int x1,x2,dx,f;
- printf("\n Vvedite a,b,c");
- scanf("%e,%e,%e",&a,&b,&c);
- printf("\n Vvedite Xbeg,Xend");
- scanf("%d,%d",&x2,&x2);
- printf("\n Vvedite11 dx");
- scanf("%d",&dx);
- for (x=x1;x<=x2;x+=dx)
- {
- if ((x=0)&&(b!=0))
- {y=a*(pow(x+c,2))-b;
- }
- else
- if ((x=0)&&(b=0))
- y=(x-a)/(-c);
- else
- y=a+x/c;
- printf("\nF=%d",f);
- }
- Ac=(int)a;
- Bc=(int)b;
- Cc=(int)c;
- if (((Ac||Bc)&&(!(Ac||Cc))!=0))
- {
- f=(float)y;
- }
- else
- f=(int)y;
- printf("\nF=%d",f);
- }
Решение задачи: «Найти ошибку в коде вычисления функции»
textual
Листинг программы
- #include <stdio.h>
- #include <math.h>
- int main ( void )
- {
- float a, b, c, ac, bc, cc, y, x;
- int x1, x2, dx, f;
- ac = bc = cc = y = x = f = 0;
- puts("Vvedite a,b,c");
- scanf("%e%e%e",&a,&b,&c);
- puts("Vvedite Xbeg,Xend");
- scanf("%d%d",&x1,&x2);
- puts("Vvedite11 dx");
- scanf("%d",&dx);
- for ( x = x1; x <= x2; x += dx)
- {
- if ( x == 0 && b != 0 )
- y = (a * ( pow(x + c, 2)) - b);
- else if ( x == 0 && b == 0 )
- y = ( x - a ) / (-c);
- else
- y = a + x / c;
- printf("F = %f\n",y);
- }
- ac = (int)a;
- bc = (int)b;
- cc = (int)c;
- if (((ac || bc) && (!( ac || cc )) != 0)) //???
- f = (float)y; // ???
- else
- f = (int)y; // ???
- printf("\nF = %d\n",f);
- return 0;
- }
Объяснение кода листинга программы
- Ввод значений переменных a, b, c с помощью функции scanf.
- Ввод значений переменных Xbeg, Xend с помощью функции scanf.
- Ввод значения переменной dx с помощью функции scanf.
- Выполнение цикла от x1 до x2 с шагом dx.
- Внутри цикла определение значения переменной y в зависимости от условий.
- Вывод значения переменной y с помощью функции printf.
- Присваивание значениям переменных ac, bc, cc значение типов int, float, float соответственно.
- Проверка условия (ac || bc) && (!(ac || cc)) != 0, которое в данном случае всегда будет истинным.
- Присваивание значения переменной f значение типа int или float в зависимости от результата проверки.
- Вывод значения переменной f с помощью функции printf.
- Возврат значения 0 функцией main, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д