родичева1812
?>

Выведите фамилии и имена учащихся в порядке убывания их среднего . Входные данные Заданы сначала количество учащихся 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; } Надо как-то добавить , когда четыре отличника

Информатика

Ответы

toniv

#include <iostream>

#include <vector>

#include <map>

#include <cmath>

#include <queue>

#include <set>

#include <iomanip>

#include <map>

using namespace std;

signed main() {

   ios_base::sync_with_stdio(0);

   cin.tie(0);

   cout.tie(0);

   int n,m;

   cin >> n >> m;

   int max_val = -1,pointer = -1;

   for(int i = 0; i < n; i++)

   {

       int sum = 0,k;

       for(int j = 0; j < m; j++)

       {

           cin >> k;

           sum += k;

       }

       if(sum > max_val)

       {

           max_val = sum;

           pointer = i;

       }

   }

   cout << max_val << "\n" << pointer;

}

mtcover

Начальное число — 5

Выполняем команды:

Первая команда — 5 + 1 = 6. Потом у нас идут три двойки. Это значит, что мы три раза подставляем какое-то число b к концу текущего (к концу 6). Т.к. в результате мы видим, что после шести у нас стоит две пятерки, это значит, что к шести доставили две пятерки. Третья команда — 2, но после нее идет единица, что говорит о том, что сначала в конец поставляется число b и потом все число увеличивается на единицу. Смотрим: в конце полученного числа стоит шесть. Если убрать единицу, то будет пять, что говорит о том, что число b равно пяти.

ответ: b = 5

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Выведите фамилии и имена учащихся в порядке убывания их среднего . Входные данные Заданы сначала количество учащихся 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; } Надо как-то добавить , когда четыре отличника
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Mariya-Karaseva
mishink535
a800000
Salnikov1730
nickcook424
Rjkjneirbyf555
milaudina
marinakmaa86
alex07071
farmprofi
atlantika7
savenko0109152
sv-rud
qwerty
Alekseevna1811
▲