Аватар для ivan_proger
3 / 3 / 2
Регистрация: 07.08.2018
Сообщений: 84

D. Кто полетит в космос?

24.12.2019, 22:58. Показов 775. Ответов 1
Метки с++ (Все метки)

Студворк — интернет-сервис помощи студентам
Отряд космонавтов усиленно тренировался уже не одну неделю.
Лучшие из лучших занимались, не покладая сил, для того, чтобы стать кандидатом номер один на полет в космос. Все, конечно, не могут полететь сразу, так как место в космическом корабле только одно.
Задача Очень Важной Комиссии — отобрать кандидатов для полета в космос. Итогом работы Очень Важной Комиссии будет список кандидатов для полета в космос в порядке их пригодности. Этот список подадут Очень Важному Генералу, который выберет и утвердит имя первого космонавта. Критерии ранжирования следующие: сначала кандидаты выстраиваются по критерию близости их роста к эталонному — 180 см. Будут ли кандидаты выше или ниже — не столь важно, главное быть как можно ближе к заветным 180 см. Если есть кандидаты с одинаковой близостью к эталонному росту, Очень Важная Комиссия отбирает тех из них, кто оказывается по весу как можно ближе к 75 килограммам, но не превышает его. Если кандидатов не больше 75 килограммов не найдется, Очень Важная Комиссия просто сортирует кандидатов в порядке возрастания их веса.
Дале, если среди кандидатов будут присутствовать такие, у кого будут одинаковыми первые две характеристики, Очень Важная Комиссия будет выбирать по первой, второй и т.д. буквам фамилии в алфавитном порядке. Если и фамилии совпадут, Очень Важная Комиссия дополнительно будет «сортировать» кандидатов по именам, аналогично, как и по фамилии. Помогите Очень Важной Комиссии составить список кандидатов для полета в космос!

Формат ввода
В первой строке передается количество, рассматриваемых Очень Важной Комиссией кандидатов (
1

n

1
0
0
). Далее следуют
n
строк, задающие информацию о кандидатах: одна строка, один человек в формате: Имя <пробел> Фамилия <пробел> Рост <пробел> Вес.
Имя и Фамилия — непустые строки до 50 символов, состоящие из строчных и прописных латинских букв. ([a..zA..Z]). Рост находится в диапазоне от 150 до 220 см. Вес находится в диапазоне от 50 до 150 килограмм.

Формат вывода
На выходе программа должна вывести список кандидатов в порядке приоритетности: одна строка, один кандидат в формате: Имя пробел Фамилия.
Пример 1
Ввод
11
Neal Mitchell 188 76
Marvin Hall 191 106
Willie Roberts 190 149
Bobby Lewis 206 58
William Roberts 217 59
Randy Owen 169 137
Lynn Hussain 200 137
Ben Harrison 190 106
Peter Walker 186 87
Dennis Barker 209 62
Floyd Barnes 173 95
Вывод
Bobby Lewis
Dennis Barker
William Roberts
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.12.2019, 22:58
Ответы с готовыми решениями:

Под каким углом к оси x полетит слипшийся шар?
Пластилиновые шары, массы которых m1 и m2, летят с одинаковыми по модулю скоростями v, сталкиваются и слипаются. Угол между векторами...

С какой скоростью и под каким углом к горизонту полетит больший осколок?
Снаряд массой 10 кг имел скорость 200 м/с в верхней точке траектории. В этой точке он разорвался на две части. Меньшая часть с массой 3...

Бросок в космос
Ученик взял свой портфель и бросил 9 мая в космос. Тот улетел в небо......гуляет мальчик 20 июня этого же года, и вдруг ему к ногам падает...

1
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
31.12.2019, 19:05
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <cstring>
#include <cstdlib>
 
struct Node
{
    char name[51];
    char surn[51];
    short h;
    short w;
};
 
int comp(const void* lhs, const void* rhs){
    const Node* l = (const Node*)lhs;
    const Node* r = (const Node*)rhs;
    int res;
 
    res = abs(180 - l->h) - abs(180 - r->h);
    if (res != 0) return res;
 
    if (l->w != r->w) return l->w <= 75 && r->w <= 75 ? r->w - l->w : l->w - r->w;
 
    res = strcmp(l->surn, r->surn);
    if (res != 0) return res;
 
    return strcmp(l->name, r->name);
}
 
int main()
{
    size_t n;
    std::cin >> n;
 
    Node* ppl = new Node[n];
    for (Node* it(ppl); it != ppl + n; ++it)
        std::cin >> it->name >> it->surn >> it->h >> it->w;
 
    qsort((void*)ppl, n, sizeof(Node), comp);
 
    for (Node* it(ppl); it != ppl + n; ++it)
        std::cout << it->name << ' ' << it->surn << '\n';
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.12.2019, 19:05
Помогаю со студенческими работами здесь

Отправление ракеты в космос
1. Отправление ракеты в космос. а вот это можешь решить Отправление ракеты в космос. тоже на паскале

Онлайн-игра про космос
Здравствуйте. Давно хочу поиграть в какую нибудь игру про космические корабли. Пересмотрел много вариантов, но по душе так ни один не...

Книги про космос, посоветуйте
посоветуйте красочные, хорошие книги про космос, не туфту. Что то типа такого цензура )) такое вот не надо цензура ссылки на...

Хочу сделать игрушку про космос и
лучше использовать этот движок или написать свой например на джава?

Хочу поиграть в онлайн игру про космос
Захотелось поиграть в неочень сложную космическую игру по сети через интернет, где красивая графика и дизайн, с возможностью вывода денег....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru