Проверить, является ли введенное число является решением уравнения (составить блок-схему) - C (СИ)

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

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

Составить блок-схему Проверить, является ли введенное число является решением уравнения {ax}^{4}+{bx}^{2}+cx=d ^ - степень
Перевірити, чи введене число є розв’язком рівняння {ax}^{4}+{bx}^{2}+cx=d ^ - степінь

Решение задачи: «Проверить, является ли введенное число является решением уравнения (составить блок-схему)»

textual
Листинг программы
#include <stdio.h>
 
double a, b, c, d;
double f(double x);
 
int main()
{
    char chStub = 0;
    int iChoise = 0;
    int iWork = 1;
    double x  = 0;
    a = b = c = d = 1;
    while(iWork)
    {
        printf("1 - Enter a, b, c, d\n");
        printf("2 - Enter value for check\n");
        printf("0 - Exit\n");
        printf("[Current values a b c d : %lf %lf %lf %lf]\n", a, b, c, d);
        printf("Your choise : ");
        if(!scanf("%d",&iChoise))
            printf("Incorrect input\n");
        else
        {
            switch(iChoise)
            {
            case 1:
                printf("a b c d : ");
                if(scanf("%lf%lf%lf%lf", &a, &b, &c, &d) < 4)
                    printf("Incorrect input\n");
                break;
            case 2:
                printf("x : ");
                if(!scanf("%lf", &x))
                    printf("Incorrect input\n");
                else
                if(f(x) == 0)
                    printf("%lf - is root of equation\n", x);
                else
                    printf("%lf - is not root of equation\n", x);
                break;
            case 0:
                iWork = 0;
                break;
            default:
                printf("Unssupported key\n");
                break;
            }
        }
        chStub =  getchar();
        while(chStub != '\n')
            chStub =  getchar();
    }
    return 0;
}
 
double f(double x)
{
    return a*x*x*x*x + b*x*x + c*x - d;
}

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

  1. В начале программы объявлены переменные a, b, c, d типа double и функция f(double x).
  2. В функции main() после инициализации переменных, введен цикл while, который будет выполняться до тех пор, пока пользователь не введет 0 для выхода.
  3. Внутри цикла while выводится меню с вариантами выбора.
  4. При выборе 1, пользователю предлагается ввести значения a, b, c, d. Если ввод верный, то значения сохраняются в соответствующих переменных.
  5. При выборе 2, пользователю предлагается ввести значение x для проверки, является ли оно решением уравнения.
  6. Если ввод верный, то значение x передается в функцию f(double x), которая возвращает 0, если x является решением уравнения, и ненулевое значение в противном случае.
  7. При выборе 0, цикл while завершается.
  8. В функции f(double x) определена формула для вычисления значения функции f(x).
  9. В случае ошибки ввода, программа выводит сообщение об ошибке и просит ввести корректное значение.

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


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

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

11   голосов , оценка 4 из 5
Похожие ответы