Найти значение функции в зависимости от значений введенной переменной - C (СИ)

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

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

Создать программу, которая позволит рассчитывать значение функции в зависимости от значений введенной переменной. Напишите программу, которая использует оператор

do-while ()

. Самостоятельно задайте для переменной

х

значение, которое вводится с клавиатуры. При

х = 7, 0 или -7, то функция не определена; х <3, y = (x ^ 2-3 * x + 2) / x; -3 <X <3, y = x; x> 3, y = x ^ 3

. Выход из цикла осуществляется при условии

у<0

. Программа должна вычислять максимальное

(max)

и минимальное

(min)

значения функций

у (х)

. Алгоритм программы: 1. Задаем начальное значение

х

; 2. При

х = 7, 0 или -7, то функция определена; х <3, y = (x ^ 2-3 * x + 2) / x; -3 <X <3, y = x; x> 3, y = x ^ 3

. 3. Задаем условие, что при

y<0

происходит выход из цикла; 4. Делаем так, чтобы после прекращения работы цикла, отображались

max

и

min

значения функций

y (x)

5. Выводим результат на экран; 6. Конец алгоритма. Сам код:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
 
int main()
{
    setlocale('Rus', LC_ALL);
 
    int x;
    double y, min, max;
    do
    {
        printf("Введи x \n");
        scanf("%d", &x);
        if ((x == -7) || (x == 0) || (x == 7))
        {
            printf("Функция не определена!");
            continue;
        }
        else if (x>-3 && x<3)
            y = x;
        else if (x<-3)
            y = (powf(x, 2)-3*x+2)/x;
        else
            y=powf(x, 3);
        printf("x=%d\t", x);
        printf("y=%f\n", y);
        (y<min); {min = y;};
        (y>max); {max = y;};
    } while (y>0);
    printf("max=%g\n", max);
    printf("min=%g\n", min);
    getchar();
    return 0;
}
Программу компилятор компилирует, но Виндовс отказывается запускать, убирал с программы следующие блоки, не помогло:
printf("max=%g\n", max);
printf("min=%g\n", min);
(y<min); {min = y;};
(y>max); {max = y;};
Пробивал по-другому код писать не помогло:
int x=0;
double y=0, min=0, max=0;
Думал отдебажить программу, но Visual, не нашёл нужных файлов, см. скрин.

Решение задачи: «Найти значение функции в зависимости от значений введенной переменной»

textual
Листинг программы
setlocale(LC_ALL, "Rus");

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

  1. Устанавливается локальная настройка для вывода русскоязычных сообщений.
  2. Вводится переменная n типа int, которая будет использоваться в дальнейшем коде.
  3. Выводится сообщение с просьбой ввести значение переменной n.
  4. Вводится значение переменной n.
  5. Создается массив a типа double с размером n.
  6. Вычисляется значение функции для каждого элемента массива a.
  7. Выводится значение функции для каждого элемента массива a.
  8. Программа завершается.

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


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

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

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