Поделитесь своими знаниями, ответьте на вопрос:
УМОЛЯЮ На вход программы подаются сведения о результатах соревнований по школьному многоборью. Многоборье состоит из соревнований по четырем видам спорта, участие в каждом из которых оценивается от 0 до 10 ( получает ученик, не принимавший участия в соревнованиях по данному виду спорта Победители определяются по наибольшей сумме набранных . Известно, что общее количество участников соревнований не превосходит 100.В первой строке вводится количество учеников, принимавших участие в соревнованиях, N. Далее следуют N строк, имеющих следующий формат:Здесь – строка, состоящая не более чем из 20 символов; – строка, состоящая не более чем из 15 символов; - строка, содержащая четыре целых числа, разделенных пробелом, соответствующих , полученным на соревнованиях по каждому из четырех видов спорта. При этом и , и разделены одним пробелом. Примеры входных строк:Иванова Мария 5 8 6 3Петров Сергей 9 9 5 7Напишите программу, которая будет выводить на экран фамилии и имена трех лучших участников многоборья. Если среди остальных участников есть ученики, набравшие то же количество , что и один из трех лучших, то их фамилии и имена также следует вывести. При этом имена и фамилии можно выводить в произвольном порядке.
#include <iostream>
#include <iomanip>
class Point {
protected:
double* arr; //массив с координатами по осям
size_t size; //размерность пространства
public:
Point(size_t s) : size(s) {
arr = new double[s];
}
~Point() {
delete[] arr;
}
virtual void print() = 0; //вывод координат
};
class Point2D : public Point {
public:
Point2D(double x,double y) : Point(2) {
arr[0] = x; arr[1] = y;
}
void print() override {
std::cout << "x = " << std::fixed << std::setprecision(1) << arr[0] << " y = " << arr[1] << std::endl;
}
};
class Point3D : public Point {
public:
Point3D(double x, double y, double z) : Point(3) {
arr[0] = x; arr[1] = y; arr[2] = z;
}
void print() override {
std::cout << "x = " << std::fixed << std::setprecision(1) << arr[0] << " y = " << arr[1]
<< " z = " << arr[2] << std::endl;
}
};
int main(int argc, char* argv[]) {
Point* p1 = new Point2D(1.5, 4.8);
Point* p2 = new Point3D(1.0, 10.2, 3.3);
p1->print();
p2->print();
delete p1;
delete p2;
return 0;
}