Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
 Аватар для ivan_proger
3 / 3 / 2
Регистрация: 07.08.2018
Сообщений: 84

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

24.12.2019, 22:58. Показов 771. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru