class UnivariateQuadratic
{
private:
int A, B, C;
int Left, Right;
double Max, Min;
public:
UnivariateQuadratic(int, int, int);
void calculateMaxMin(int, int);
double getMax();
double getMin();
};
#include <iostream>
#include"UnivariateQuadratic.h"
using namespace std;
UnivariateQuadratic::UnivariateQuadratic(int a, int b, int c)
{
A = a, B = b, C = c, Max = 0, Min = 0, Left = 0; Right = 1;
}
void UnivariateQuadratic::calculateMaxMin(int l, int r)
{
Left = l, Right = r;
if (l > r)
{
Left = r;
Right = l;
}
Min=Max = A * l * l + B * l + C;
for (int x = l+1; x <= r; x++)
{
int y= A * x * x + B * x + C;
if (Min > y) Min = y;
if (Max < y) Max = y;
}
};
double UnivariateQuadratic::getMax()
{
return Max;
};
double UnivariateQuadratic::getMin()
{
return Min;
};
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include"UnivariateQuadratic.h"
using namespace std;
int main()
{
UnivariateQuadratic UQ(2,1,-3);
UQ.calculateMaxMin(-2,2);
cout << UQ.getMax() << endl;
cout << UQ.getMin() << endl;
return 0;
}