Вам даны результаты заплыва 10 человек. Все результаты различны. Укажите номера двух...

0 голосов
63 просмотров

Вам даны результаты заплыва 10 человек. Все результаты различны. Укажите номера двух худших пловцов (с наибольшими временами, в порядке убывания времени).
a[1] – время первого пловца
a[2] – время второго пловца
...
a[10] - время десятого пловца
47
23
50
12
23
15
40
46
15
49
Вывод:
n1 – номер пловца с самым большим временем
n2 – номер пловца с вторым по величине временем
3
10


Информатика (89 баллов) | 63 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

# Код на ruby 2.2.3p173
def zadanie(results)
    k = 1
    for i in 0..results.size-1
        results[i] = [i+1,results[i]]
    end

    results = results.sort_by{|v| v[1]}
    results = results.reverse

    return [results[0][0], results[1][0]]
end

# Примеры применения
p zadanie([1,2,7,8,6,4,8,8,4,9])
p zadanie([47,23,50,12,23,15,40,46,15,49])

(55.0k баллов)