Выведите фамилии и имена учащихся в порядке убывания их среднего .
Входные данные
Заданы сначала количество учащихся n, затем n строк, каждая из которых содержит фамилию, имя и три числа (оценки по трем предметам: математике, физике, информатике). Данные в строке разделены одним пробелом. Оценки принимают значение от 1 до 5.
Выходные данные
Необходимо вывести пары фамилия-имя по одной на строке, разделяя фамилию и имя одним пробелом. Выводить оценки не нужно. Если несколько учащихся имеют одинаковые средние , то их нужно выводить в порядке, заданном во входных данных.
Sample Input:
3
Markov Valeriy 5 5 5
Sergey Petrov 1 1 1
Petrov Petr 3 3 3
Sample Output:
Markov Valeriy
Petrov Petr
Sergey Petrov
вот мой код:
#include
#include
#include
#include
using namespace std;
struct man {
string name;
string surname;
double point;
};
bool s (man a, man b) {
return a.point >= b.point;
}
int main() {
int n;
cin >> n;
vector a(n);
for (int i = 0; i < n; i++) {
string temp_name, temp_surname;
int pointTemp1, pointTemp2, pointTemp3;
double temp_point;
cin >> temp_name >> temp_surname >> pointTemp1 >> pointTemp2 >> pointTemp3;
temp_point = pointTemp1 + pointTemp2 + pointTemp3;
man struct_temp;
struct_temp.name = temp_name;
struct_temp.surname = temp_surname;
struct_temp.point = temp_point;
a[i] = struct_temp;
}
stable_sort(a.begin(), a.end(), s);
for (auto now : a) {
cout << now.name << ' ' << now.surname << endl;
}
return 0;
}
Надо как-то добавить ,когда четыре отличника
Первая задача и вторая в одном проекте.
#include <iostream>
#include <cstdlib>// включает srand() и rand()
#include <ctime> // содержит time
int main(){
float mas[79];
double mult = 1;
srand(time(NULL));// при каждом запуске будут новые случайные числа
for (int i=0; i<79; i++) mas[i] = 0.1*rand();//заполнение массива случайными числами
// Задача 2: произведение этих элементов:
for (int i=0; i<79; i++) mult*=mas[i];
std::cout << "mult = " << mult << std::endl;
system("pause");
return 0;
}
Третья:
#include <iostream>
#define x 3 //определяем максимальный размер массива, сейчас 3
using namespace std;
int main(){ float N[x];
int i;
for (i=0; i<x; i++){ cout << "N[" << i << "]= ";
cin >> N[i];
}
cout << "" << endl;
for (i=0; i<x; i++)
cout << "N[" << i << "] / 2= " << N[i]/2 << endl;
system("pause");
}
Четвертая:
#include <iostream>
#define N 3 //определяем максимальный размер массива, сейчас 3
using namespace std;
int main(){
int mas[N], i, j;
for (i=0; i<N; i++){
cout << "mas[" << i << "]= ";
cin >> mas[i];
}
cout << "" << endl;
for (i=0, j=0; i<N; i++)
if (mas[i] < -3) j++;
cout << "summa mas[i] < -3 = " << j << endl;
system("pause");
}
Пятая:
#include <iostream>
#include <cstdlib>// включает srand() и rand()#include <ctime> // содержит time
#define N 5
int main(){
int mas[N], sum=0;
srand(time(NULL));// при каждом запуске будут новые случайные числа for (int i=0; i<N; i++){
mas[i] = rand();//заполнение массива случайными числами
if (i%2) sum+=mas[i];
}
std::cout<<"sum= " << sum << std::endl;
system("pause");
}
дан четырехугольник (написать в параллелограмме)
стороны попарно параллельны? (написать в ромбе и провести две стрелки)
да нет
является параллелограммом не является параллелограммом (написать в прямоугольнике) (написать в прямоугольнике)
конец (написать в овале)