Не понимаю в чем суть ошибки "использована неинициализированная локальная переменная "x" стр35"
#include <conio.h> // подключение библиотеки управления
// вводом-выводом средствами консоли MS-DOS
#include <math.h> // подключение библиотеки математических
// функций
#include <stdio.h> // подключение библиотеки стандартных
// средств ввода-вывода языка C
#include <locale.h> // подключение библиотеки локализации
#include <stdlib.h> // подключение стандартной библиотеки
using namespace std;
int main()
{
// вычисление значения функции y=f(x)
setlocale(LC_ALL, "RUS"); // подключение русской консоли
float a, // параметр a
b, // параметр b
x, // параметр x
y; // значение функции y
bool valid; // флаг, отображающий принадлежность
// аргумента области допустимых значений
//ввод значений параметров а и b и аргумента x
printf("Введите значение параметра a: ");
scanf_s("%f", &a);
printf("Введите значение параметра b: ");
scanf_s("%f", &b);
printf("Введите значение параметра x: ");
scanf_s("%f", &a);
// вычисление значения функции y
valid = true;
if (x <= a) // x <= a
{
y = pow(cosh(x) + sinh(x) + pow(x, 0.5), pow(1.1 * x, 2.2));
}
else if (x < b) // a < x < b
{
y = fabs(pow(x, 1.3 / x) - pow(2.6 / 1.1 * x, 1 / 3) + pow(2.718, 0.221 * x));
}
else // x >= b
{
// проверка Области допустимых значений
if (x <= 0) // если аргумент имеет недопустимое
valid = false; // значение, то флаг сбрасывается
else
y = log10(pow(2.718, (x + 25) / 2))+log(pow(100*x,1/3))+log(x)/log(4);
}
//вывод значения функции y в формате с плавающей точкой
if (valid)
{
printf("Значение функции y = %e\n", y);
}
else
{
printf("Недопустимое значение аргумента");
printf("Нажмите любую клавишу...");
getch();
}
return 0;
}
Ответы (1 шт):
Автор решения: nörbörnën
→ Ссылка
должно быть так:
printf("Введите значение параметра x: ");
scanf_s("%f", &x);