М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
tititititititi
tititititititi
01.06.2020 20:24 •  Информатика

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

👇
Ответ:
Garik23123
Garik23123
01.06.2020
#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>

struct StudentData
{
    std::string name;
    std::string surname;
    int math;
    int phys;
    int comp_science;
};

bool
comp(const StudentData &a, const StudentData &b)
{
    int tmp1 = a.math + a.phys + a.comp_science;
    int tmp2 = b.math + b.phys + b.comp_science;
    return tmp1 > tmp2 ? true : false;
}

int
main(void)
{
    int n;
    std::cin >> n;
    std::vector< StudentData > data(n);
    for (int i = 0; i < n; i++) {
        std::cin >> data[i].name >> data[i].surname;
        std::cin >> data[i].math >> data[i].phys >> data[i].comp_science;
    }
    std::sort(data.begin(), data.end(), comp);
    for (int i = 0; i < n; i++) {
        std::cout << data[i].name << " " << data[i].surname << std::endl;
    }
    return 0;
}
4,4(61 оценок)
Открыть все ответы
Ответ:

{pascalabc}

program f0rwardirop;

var  

  r,x,y: real;

  b: boolean;

  i: integer;

  s: string;

begin

  s: =' -=alphaeus=- ';

  for i: =1 to 22 do begin write(s[i]); sleep(200) end;

  writeln; write('ok, введите r = '); readln(r);

  write('теперь введите х = '); readln(x);

  write('и, наконец, введите y = '); readln(y);

  if x> =0 then

    if (x*x+y*y < = r*r) then b: = true else b: =false

    else

      if (abs(x) < =r) and (abs(y) < =r) and (abs(x) < = abs(y)) then b: = true else b: =false;

  if b then writeln('точка (',x,',',y,') принадлежит закрашенной области')

  else writeln('точка (',x,',',y,') не принадлежит закрашенной области');

end.

4,7(4 оценок)
Ответ:
саша4278
саша4278
01.06.2020

pascalabc:

program f0rwardirop;

var r, x,y: real;

b: boolean;

begin

  writeln('*   alphaeus is   *');

  write('ok, введите r =');   readln(r);

  write('теперь введите х =');   readln(x);

  write('и, наконец, введите y =');   readln(y);

  if x> =0 then  

      if (x*x+y*y < = r*r) then b: = true else b: =false

    else

      if (abs(x) < =r) and (abs(y) < =r) and (abs(x) < = abs(y)) then b: = true else b: =false;

  if b then   writeln('точка (',x,',',y,') принадлежит закрашенной области')

      else   writeln('точка (',x,',',y,') не принадлежит закрашенной области');

end.

4,7(61 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ