Что не так комплиятору не нравится решение
#include
#include
using namespace std;
int main() {
double a, b, x, y, xn, xk, xmin, xmax, h; // Оголошення змінних з типом double
int N; // Оголошення змінної з типом int
a = 4.6;
b = 2.5;
xn = xmin = 0.75;
xk = xmax = 1.8;
h = 0.3;
N = (xmax - xmin) / h + 1; // Обчислення кількості точок N
// Обчислення значень функції та пошук мінімального та максимального значень
double ymin = INFINITY;
double ymax = -INFINITY;
for (int i = 0; i < N; ++i) { // Початок циклу з ітерацією по кількості точок N
x = xmin + h * i; // Обчислення значення змінної x у поточній ітерації
y = exp*(pow(-x*(pow*(2)*(a+b*x))/(log10(pow(2)x))); // Обчислення значення функції у
if (y < ymin) { // Перевірка, чи значення y менше, ніж поточне мінімальне значення ymin
ymin = y; // Оновлення значення ymin
}
if (y > ymax) { // Перевірка, чи поточне значення y більше максимального значення ymax
ymax = y; // Оновлення значення ymin
}
cout << "x = " << x << ", y = " << y << endl; // Виведення значень змінних x та y на екран
}
// виведення мінімального та максимального значень функції
cout << "Найменше значення функції: " << ymin << endl;
cout << "Найбiльше значення функції: " << ymax << endl;
return 0;
}
Answers & Comments
Відповідь:
Текст коду на мові C++:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double a, b, x, y, xn, xk, xmin, xmax, h; // Оголошення змінних з типом double
int N; // Оголошення змінної з типом int
a = 4.6;
b = 2.5;
xn = xmin = 0.75;
xk = xmax = 1.8;
h = 0.3;
N = (xmax - xmin) / h + 1; // Обчислення кількості точок N
// Обчислення значень функції та пошук мінімального та максимального значень
double ymin = INFINITY;
double ymax = -INFINITY;
for (int i = 0; i < N; ++i) { // Початок циклу з ітерацією по кількості точок N
x = xmin + h * i; // Обчислення значення змінної x у поточній ітерації
y = exp(-x*pow(2.0*(a+b*x)/(log10(pow(2.0,x))),2.0)); // Обчислення значення функції у
if (y < ymin) { // Перевірка, чи значення y менше, ніж поточне мінімальне значення ymin
ymin = y; // Оновлення значення ymin
}
if (y > ymax) { // Перевірка, чи поточне значення y більше максимального значення ymax
ymax = y; // Оновлення значення ymax
}
cout << "x = " << x << ", y = " << y << endl; // Виведення значень змінних x та y на екран
}
// виведення мінімального та максимального значень функції
cout << "Найменше значення функції: " << ymin << endl;
cout << "Найбільше значення функції: " << ymax << endl;
return 0;
}
Замінено рядок:
y = exp*(pow(-x*(pow*(2)*(a+b*x))/(log10(pow(2)x))));
на: y = exp(-x*pow(2.0*(a+b*x)/(log10(pow(2.0,x))),2.0)),бо функцію pow() необхідно вкладати між двома аргументами.
(Результат виконання програми на фото).