#include <iostream>
using namespace std;
/************************************************************
* Question 7 – C++ Class Extension
************************************************************/
class NumberSet
{
private:
int values[5];
public:
// Constructor
NumberSet(int a, int b, int c, int d, int e)
{
values[0] = a;
values[1] = b;
values[2] = c;
values[3] = d;
values[4] = e;
}
// Returns the largest value
int Largest() const
{
int max = values[0];
for (int i = 1; i < 5; i++)
{
if (values[i] > max)
max = values[i];
}
return max;
}
// Returns the smallest value
int Smallest() const
{
int min = values[0];
for (int i = 1; i < 5; i++)
{
if (values[i] < min)
min = values[i];
}
return min;
}
// Returns the sum of all values
int Total() const
{
int sum = 0;
for (int i = 0; i < 5; i++)
sum += values[i];
return sum;
}
// Returns the average of the values
double Average() const
{
return static_cast<double>(Total()) / 5.0;
}
};
/************************************************************
* main – demonstration only
************************************************************/
int main()
{
NumberSet nums(10, 5, 25, 3, 12);
cout << "Largest: " << nums.Largest() << endl;
cout << "Smallest: " << nums.Smallest() << endl;
cout << "Total: " << nums.Total() << endl;
cout << "Average: " << nums.Average() << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBRdWVzdGlvbiA3IOKAkyBDKysgQ2xhc3MgRXh0ZW5zaW9uCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgpjbGFzcyBOdW1iZXJTZXQKewpwcml2YXRlOgogICAgaW50IHZhbHVlc1s1XTsKCnB1YmxpYzoKICAgIC8vIENvbnN0cnVjdG9yCiAgICBOdW1iZXJTZXQoaW50IGEsIGludCBiLCBpbnQgYywgaW50IGQsIGludCBlKQogICAgewogICAgICAgIHZhbHVlc1swXSA9IGE7CiAgICAgICAgdmFsdWVzWzFdID0gYjsKICAgICAgICB2YWx1ZXNbMl0gPSBjOwogICAgICAgIHZhbHVlc1szXSA9IGQ7CiAgICAgICAgdmFsdWVzWzRdID0gZTsKICAgIH0KCiAgICAvLyBSZXR1cm5zIHRoZSBsYXJnZXN0IHZhbHVlCiAgICBpbnQgTGFyZ2VzdCgpIGNvbnN0CiAgICB7CiAgICAgICAgaW50IG1heCA9IHZhbHVlc1swXTsKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8IDU7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGlmICh2YWx1ZXNbaV0gPiBtYXgpCiAgICAgICAgICAgICAgICBtYXggPSB2YWx1ZXNbaV07CiAgICAgICAgfQogICAgICAgIHJldHVybiBtYXg7CiAgICB9CgogICAgLy8gUmV0dXJucyB0aGUgc21hbGxlc3QgdmFsdWUKICAgIGludCBTbWFsbGVzdCgpIGNvbnN0CiAgICB7CiAgICAgICAgaW50IG1pbiA9IHZhbHVlc1swXTsKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8IDU7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGlmICh2YWx1ZXNbaV0gPCBtaW4pCiAgICAgICAgICAgICAgICBtaW4gPSB2YWx1ZXNbaV07CiAgICAgICAgfQogICAgICAgIHJldHVybiBtaW47CiAgICB9CgogICAgLy8gUmV0dXJucyB0aGUgc3VtIG9mIGFsbCB2YWx1ZXMKICAgIGludCBUb3RhbCgpIGNvbnN0CiAgICB7CiAgICAgICAgaW50IHN1bSA9IDA7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCA1OyBpKyspCiAgICAgICAgICAgIHN1bSArPSB2YWx1ZXNbaV07CgogICAgICAgIHJldHVybiBzdW07CiAgICB9CgogICAgLy8gUmV0dXJucyB0aGUgYXZlcmFnZSBvZiB0aGUgdmFsdWVzCiAgICBkb3VibGUgQXZlcmFnZSgpIGNvbnN0CiAgICB7CiAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGRvdWJsZT4oVG90YWwoKSkgLyA1LjA7CiAgICB9Cn07CgovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqIG1haW4g4oCTIGRlbW9uc3RyYXRpb24gb25seQogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKaW50IG1haW4oKQp7CiAgICBOdW1iZXJTZXQgbnVtcygxMCwgNSwgMjUsIDMsIDEyKTsKCiAgICBjb3V0IDw8ICJMYXJnZXN0OiAiICA8PCBudW1zLkxhcmdlc3QoKSAgPDwgZW5kbDsKICAgIGNvdXQgPDwgIlNtYWxsZXN0OiAiIDw8IG51bXMuU21hbGxlc3QoKSA8PCBlbmRsOwogICAgY291dCA8PCAiVG90YWw6ICIgICAgPDwgbnVtcy5Ub3RhbCgpICAgIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJBdmVyYWdlOiAiICA8PCBudW1zLkF2ZXJhZ2UoKSAgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQ==