/*write an overloaded findMAX function that:
returns the maximum two integers
returns the maximum of float point integers
returns the maximum of three integers*/
#include <iostream>
using namespace std;
class MaxFinder {
public:
// Method to find max of two integers
int findMAX(int a, int b) {
return (a > b) ? a : b;
}
// Method to find max of two floats
float findMAX(float a, float b) {
return (a > b) ? a : b;
}
// Method to find max of three integers
int findMAX(int a, int b, int c) {
int max = (a > b) ? a : b;
return (max > c) ? max : c;
}
};
int main() {
MaxFinder maxFinder;
int choice;
cout << "Choose an option:\n";
cout << "1. Max of two integers\n";
cout << "2. Max of two floats\n";
cout << "3. Max of three integers\n";
cout << "Enter your choice (1-3): ";
cin >> choice;
switch (choice) {
case 1: {
int a, b;
cout << "Enter two integers: ";
cin >> a >> b;
cout << "Maximum is: " << maxFinder.findMAX(a, b) << endl;
break;
}
case 2: {
float a, b;
cout << "Enter two float numbers: ";
cin >> a >> b;
cout << "Maximum is: " << maxFinder.findMAX(a, b) << endl;
break;
}
case 3: {
int a, b, c;
cout << "Enter three integers: ";
cin >> a >> b >> c;
cout << "Maximum is: " << maxFinder.findMAX(a, b, c) << endl;
break;
}
default:
cout << "Invalid choice!" << endl;
}
return 0;
}
Lyp3cml0ZSBhbiBvdmVybG9hZGVkIGZpbmRNQVggZnVuY3Rpb24gdGhhdDoKcmV0dXJucyB0aGUgbWF4aW11bSB0d28gaW50ZWdlcnMKcmV0dXJucyB0aGUgbWF4aW11bSBvZiBmbG9hdCBwb2ludCBpbnRlZ2VycwpyZXR1cm5zIHRoZSBtYXhpbXVtIG9mIHRocmVlIGludGVnZXJzKi8KI2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgTWF4RmluZGVyIHsKcHVibGljOgogICAgLy8gTWV0aG9kIHRvIGZpbmQgbWF4IG9mIHR3byBpbnRlZ2VycwogICAgaW50IGZpbmRNQVgoaW50IGEsIGludCBiKSB7CiAgICAgICAgcmV0dXJuIChhID4gYikgPyBhIDogYjsKICAgIH0KCiAgICAvLyBNZXRob2QgdG8gZmluZCBtYXggb2YgdHdvIGZsb2F0cwogICAgZmxvYXQgZmluZE1BWChmbG9hdCBhLCBmbG9hdCBiKSB7CiAgICAgICAgcmV0dXJuIChhID4gYikgPyBhIDogYjsKICAgIH0KCiAgICAvLyBNZXRob2QgdG8gZmluZCBtYXggb2YgdGhyZWUgaW50ZWdlcnMKICAgIGludCBmaW5kTUFYKGludCBhLCBpbnQgYiwgaW50IGMpIHsKICAgICAgICBpbnQgbWF4ID0gKGEgPiBiKSA/IGEgOiBiOwogICAgICAgIHJldHVybiAobWF4ID4gYykgPyBtYXggOiBjOwogICAgfQp9OwoKaW50IG1haW4oKSB7CiAgICBNYXhGaW5kZXIgbWF4RmluZGVyOwogICAgaW50IGNob2ljZTsKCiAgICBjb3V0IDw8ICJDaG9vc2UgYW4gb3B0aW9uOlxuIjsKICAgIGNvdXQgPDwgIjEuIE1heCBvZiB0d28gaW50ZWdlcnNcbiI7CiAgICBjb3V0IDw8ICIyLiBNYXggb2YgdHdvIGZsb2F0c1xuIjsKICAgIGNvdXQgPDwgIjMuIE1heCBvZiB0aHJlZSBpbnRlZ2Vyc1xuIjsKICAgIGNvdXQgPDwgIkVudGVyIHlvdXIgY2hvaWNlICgxLTMpOiAiOwogICAgY2luID4+IGNob2ljZTsKCiAgICBzd2l0Y2ggKGNob2ljZSkgewogICAgICAgIGNhc2UgMTogewogICAgICAgICAgICBpbnQgYSwgYjsKICAgICAgICAgICAgY291dCA8PCAiRW50ZXIgdHdvIGludGVnZXJzOiAiOwogICAgICAgICAgICBjaW4gPj4gYSA+PiBiOwogICAgICAgICAgICBjb3V0IDw8ICJNYXhpbXVtIGlzOiAiIDw8IG1heEZpbmRlci5maW5kTUFYKGEsIGIpIDw8IGVuZGw7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBjYXNlIDI6IHsKICAgICAgICAgICAgZmxvYXQgYSwgYjsKICAgICAgICAgICAgY291dCA8PCAiRW50ZXIgdHdvIGZsb2F0IG51bWJlcnM6ICI7CiAgICAgICAgICAgIGNpbiA+PiBhID4+IGI7CiAgICAgICAgICAgIGNvdXQgPDwgIk1heGltdW0gaXM6ICIgPDwgbWF4RmluZGVyLmZpbmRNQVgoYSwgYikgPDwgZW5kbDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIGNhc2UgMzogewogICAgICAgICAgICBpbnQgYSwgYiwgYzsKICAgICAgICAgICAgY291dCA8PCAiRW50ZXIgdGhyZWUgaW50ZWdlcnM6ICI7CiAgICAgICAgICAgIGNpbiA+PiBhID4+IGIgPj4gYzsKICAgICAgICAgICAgY291dCA8PCAiTWF4aW11bSBpczogIiA8PCBtYXhGaW5kZXIuZmluZE1BWChhLCBiLCBjKSA8PCBlbmRsOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgY291dCA8PCAiSW52YWxpZCBjaG9pY2UhIiA8PCBlbmRsOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==