Найти ошибку в коде вычисления функции - C (СИ) (71481)

Узнай цену своей работы

Формулировка задачи:

Вот код
Листинг программы
  1. #include<stdio.h>
  2. void main (void)
  3. {
  4. float a,b,c,Ac,Bc,Cc,y,x;
  5. int x1,x2,dx,f;
  6. printf("\n Vvedite a,b,c");
  7. scanf("%e,%e,%e",&a,&b,&c);
  8. printf("\n Vvedite Xbeg,Xend");
  9. scanf("%d,%d",&x2,&x2);
  10. printf("\n Vvedite11 dx");
  11. scanf("%d",&dx);
  12. for (x=x1;x<=x2;x+=dx)
  13. {
  14. if ((x=0)&&(b!=0))
  15. {y=a*(pow(x+c,2))-b;
  16. }
  17. else
  18. if ((x=0)&&(b=0))
  19. y=(x-a)/(-c);
  20.  
  21. else
  22. y=a+x/c;
  23. printf("\nF=%d",f);
  24. }
  25. Ac=(int)a;
  26. Bc=(int)b;
  27. Cc=(int)c;
  28. if (((Ac||Bc)&&(!(Ac||Cc))!=0))
  29. {
  30. f=(float)y;
  31. }
  32. else
  33. f=(int)y;
  34. printf("\nF=%d",f);
  35. }
Код очень ужасно выглядит т.к не давно начали проходить СИ

Решение задачи: «Найти ошибку в коде вычисления функции»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main ( void )
  5. {
  6.  
  7. float a, b, c, ac, bc, cc, y, x;
  8. int x1, x2, dx, f;
  9.  
  10. ac = bc = cc = y = x = f = 0;
  11.  
  12. puts("Vvedite a,b,c");
  13. scanf("%e%e%e",&a,&b,&c);
  14.  
  15. puts("Vvedite Xbeg,Xend");
  16. scanf("%d%d",&x1,&x2);
  17.  
  18. puts("Vvedite11 dx");
  19. scanf("%d",&dx);
  20.  
  21.  
  22. for ( x = x1; x <= x2; x += dx)
  23. {
  24. if ( x == 0 && b != 0 )
  25.      y = (a * ( pow(x + c, 2)) - b);
  26.  
  27. else if ( x == 0 && b == 0 )
  28.         y = ( x - a ) / (-c);
  29. else
  30.      y = a + x / c;
  31.  
  32. printf("F = %f\n",y);
  33. }
  34.  
  35. ac = (int)a;
  36. bc = (int)b;
  37. cc = (int)c;
  38. if (((ac || bc) && (!( ac || cc )) != 0)) //???
  39.     f = (float)y; // ???
  40.  
  41. else
  42.     f = (int)y; // ???
  43. printf("\nF = %d\n",f);
  44. return 0;
  45. }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут