Нужно найти максимум и минимум функции при 3 параметрах. При первых 2х выводится правильно, в 3 почему-то появляются другие числа. Пробовала переставлять местами - не получилось. Может ошибка в синтаксе? И почему если первый getch убрать, то переключается с 1 параметра сразу на 3? Работаю в VS 2017
*
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream>
using namespace std;
//программа табулирования функции
//Y = 2.2*x - A^X, 0.5< = x <= 2, 1 <= A <= 3
int main()
{
setlocale(LC_ALL, "Rus");
double x = 0.5, y, ymax, xmax, ymin, xmin, a;
for (int A = 1; A <= 3; A++)
{
_getch();
y = 0.0;
ymax = 0.0;
xmax = 0.0;
ymin = 0.0;
xmin = 0.0;
a = 0.0;
x = 0.0;
system("cls");
printf("при А=%1d", A);
printf("\n");
a = 2.2*x - pow(A, x);
for (x = 0.5; x <= 2; x += 0.5)
{
y = 2.2*x - pow(A, x);
printf("при х = %5.2f y = %5.2f\n", x, y);
if (y > a) {
a = y;
xmax = x;
}
}
printf("при х max %5.2f y max = %5.2f\n", xmax, a);
a = 2.2*x - pow(A, x);
for (x = 0.5; x <= 2; x += 0.5) {
y = 2.2*x - pow(A, x);
if (y < a) {
a = y;
xmin = x;
}
}
printf("при х min %5.2f y min = %5.2f\n", xmin, a);
_getch();
}
}
*
Пропущено восстановление значения х
в начальное значению интервала перед поиском минимума:
...
x = 0.5;
a = 2.2*x - pow(A, x);
for (x = 0.5; x <= 2; x += 0.5)
{
y = 2.2*x - pow(A, x);
printf("при х = %5.2f y = %5.2f\n", x, y);
if (y > a) {
a = y;
xmax = x;
}
}
printf("при х max %5.2f y max = %5.2f\n", xmax, a);
x = 0.5; // !!!
a = 2.2*x - pow(A, x);
for (x = 0.5; x <= 2; x += 0.5) {
y = 2.2*x - pow(A, x);
if (y < a) {
a = y;
xmin = x;
}
}
printf("при х min %5.2f y min = %5.2f\n", xmin, a);
...
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как создать таймер в C++? Пробовал SetTimer с USER_TIMER_MINIMUM но он медленный, нужен таймер с интервалом больше 60 раз в секунду
Правильно ли я понимаю, что метод std::vector::emplace_back() вызывает конструктор, но не конструктор перемещения?