Найти ошибку в коде вычисления функции - 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;
}

Объяснение кода листинга программы

  1. Ввод значений переменных a, b, c с помощью функции scanf.
  2. Ввод значений переменных Xbeg, Xend с помощью функции scanf.
  3. Ввод значения переменной dx с помощью функции scanf.
  4. Выполнение цикла от x1 до x2 с шагом dx.
  5. Внутри цикла определение значения переменной y в зависимости от условий.
  6. Вывод значения переменной y с помощью функции printf.
  7. Присваивание значениям переменных ac, bc, cc значение типов int, float, float соответственно.
  8. Проверка условия (ac || bc) && (!(ac || cc)) != 0, которое в данном случае всегда будет истинным.
  9. Присваивание значения переменной f значение типа int или float в зависимости от результата проверки.
  10. Вывод значения переменной f с помощью функции printf.
  11. Возврат значения 0 функцией main, что означает успешный конец работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5