#include<iostream>
#include<string>
using namespace std;
class Vehicle {
protected:
string brand;
public:
Vehicle() {}
Vehicle(string b) {
brand = b;
}
Vehicle(const Vehicle& other) {
brand = other.brand;
}
~Vehicle() {}
};
class Car : public Vehicle {
protected:
int seats;
public:
Car() {}
Car(string b, int s) : Vehicle(b) {
seats = s;
}
Car(const Car& other) : Vehicle(other) {
seats = other.seats;
}
~Car() {}
};
class SportsCar : public Car {
private:
float topSpeed;
public:
SportsCar() {}
SportsCar(string b, int s, float ts) : Car(b, s) {
topSpeed = ts;
}
float getSpeed() const {
return topSpeed;
}
string getBrand() const {
return brand;
}
~SportsCar() {}
};
// Function to compare speeds and print the fastest car
void compare(SportsCar cars[], int n) {
int maxIndex = 0;
for(int i = 1; i < n; i++) {
if(cars[i].getSpeed() > cars[maxIndex].getSpeed()) {
maxIndex = i;
}
}
cout << "The fastest car is: " << cars[maxIndex].getBrand()
<< " with speed " << cars[maxIndex].getSpeed() << " m/s" << endl;
}
int main() {
int n;
cout << "Enter number of Sports Cars: ";
cin >> n;
SportsCar cars[10];
string name;
float speed;
for(int i = 0; i < n; i++) {
cout << "Enter brand of car " << i+1 << ": ";
cin >> name;
cout << "Enter speed of car " << i+1 << " (in m/s): ";
cin >> speed;
cars[i] = SportsCar(name, 2, speed); // assuming 2 seats for all
}
for(int i = 0; i < n; i++) {
cout << "Car " << i+1 << ": " << cars[i].getBrand()
<< " with speed " << cars[i].getSpeed() << " m/s" << endl;
}
compare(cars, n);
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIFZlaGljbGUgewpwcm90ZWN0ZWQ6CiAgICBzdHJpbmcgYnJhbmQ7CnB1YmxpYzoKICAgIFZlaGljbGUoKSB7fQogICAgVmVoaWNsZShzdHJpbmcgYikgewogICAgICAgIGJyYW5kID0gYjsKICAgIH0KICAgIFZlaGljbGUoY29uc3QgVmVoaWNsZSYgb3RoZXIpIHsKICAgICAgICBicmFuZCA9IG90aGVyLmJyYW5kOwogICAgfQogICAgflZlaGljbGUoKSB7fQp9OwoKY2xhc3MgQ2FyIDogcHVibGljIFZlaGljbGUgewpwcm90ZWN0ZWQ6CiAgICBpbnQgc2VhdHM7CnB1YmxpYzoKICAgIENhcigpIHt9CiAgICBDYXIoc3RyaW5nIGIsIGludCBzKSA6IFZlaGljbGUoYikgewogICAgICAgIHNlYXRzID0gczsKICAgIH0KICAgIENhcihjb25zdCBDYXImIG90aGVyKSA6IFZlaGljbGUob3RoZXIpIHsKICAgICAgICBzZWF0cyA9IG90aGVyLnNlYXRzOwogICAgfQogICAgfkNhcigpIHt9Cn07CgpjbGFzcyBTcG9ydHNDYXIgOiBwdWJsaWMgQ2FyIHsKcHJpdmF0ZToKICAgIGZsb2F0IHRvcFNwZWVkOwpwdWJsaWM6CiAgICBTcG9ydHNDYXIoKSB7fQogICAgU3BvcnRzQ2FyKHN0cmluZyBiLCBpbnQgcywgZmxvYXQgdHMpIDogQ2FyKGIsIHMpIHsKICAgICAgICB0b3BTcGVlZCA9IHRzOwogICAgfQoKICAgIGZsb2F0IGdldFNwZWVkKCkgY29uc3QgewogICAgICAgIHJldHVybiB0b3BTcGVlZDsKICAgIH0KCiAgICBzdHJpbmcgZ2V0QnJhbmQoKSBjb25zdCB7CiAgICAgICAgcmV0dXJuIGJyYW5kOwogICAgfQogICAgflNwb3J0c0NhcigpIHt9Cn07CgovLyBGdW5jdGlvbiB0byBjb21wYXJlIHNwZWVkcyBhbmQgcHJpbnQgdGhlIGZhc3Rlc3QgY2FyCnZvaWQgY29tcGFyZShTcG9ydHNDYXIgY2Fyc1tdLCBpbnQgbikgewogICAgaW50IG1heEluZGV4ID0gMDsKICAgIGZvcihpbnQgaSA9IDE7IGkgPCBuOyBpKyspIHsKICAgICAgICBpZihjYXJzW2ldLmdldFNwZWVkKCkgPiBjYXJzW21heEluZGV4XS5nZXRTcGVlZCgpKSB7CiAgICAgICAgICAgIG1heEluZGV4ID0gaTsKICAgICAgICB9CiAgICB9CgogICAgY291dCA8PCAiVGhlIGZhc3Rlc3QgY2FyIGlzOiAiIDw8IGNhcnNbbWF4SW5kZXhdLmdldEJyYW5kKCkgCiAgICAgICAgIDw8ICIgd2l0aCBzcGVlZCAiIDw8IGNhcnNbbWF4SW5kZXhdLmdldFNwZWVkKCkgPDwgIiBtL3MiIDw8IGVuZGw7Cn0KCmludCBtYWluKCkgewogICAgaW50IG47CiAgICBjb3V0IDw8ICJFbnRlciBudW1iZXIgb2YgU3BvcnRzIENhcnM6ICI7CiAgICBjaW4gPj4gbjsKCiAgICBTcG9ydHNDYXIgY2Fyc1sxMF07CiAgICBzdHJpbmcgbmFtZTsKICAgIGZsb2F0IHNwZWVkOwoKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjb3V0IDw8ICJFbnRlciBicmFuZCBvZiBjYXIgIiA8PCBpKzEgPDwgIjogIjsKICAgICAgICBjaW4gPj4gbmFtZTsKICAgICAgICBjb3V0IDw8ICJFbnRlciBzcGVlZCBvZiBjYXIgIiA8PCBpKzEgPDwgIiAoaW4gbS9zKTogIjsKICAgICAgICBjaW4gPj4gc3BlZWQ7CiAgICAgICAgY2Fyc1tpXSA9IFNwb3J0c0NhcihuYW1lLCAyLCBzcGVlZCk7IC8vIGFzc3VtaW5nIDIgc2VhdHMgZm9yIGFsbAogICAgfQoKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjb3V0IDw8ICJDYXIgIiA8PCBpKzEgPDwgIjogIiA8PCBjYXJzW2ldLmdldEJyYW5kKCkKICAgICAgICAgICAgIDw8ICIgd2l0aCBzcGVlZCAiIDw8IGNhcnNbaV0uZ2V0U3BlZWQoKSA8PCAiIG0vcyIgPDwgZW5kbDsKICAgIH0KCiAgICBjb21wYXJlKGNhcnMsIG4pOwoKICAgIHJldHVybiAwOwp9Cg==