Видео ролики бесплатно онлайн

Смотреть жесткое видео

Официальный сайт toppromotion 24/7/365

Смотреть видео бесплатно

nvbn 24.05.2009 13:19

Есть вопрос!Сортировка в bash

В файле in содержатся строки вида %имя% %фамилия% %бал1% %бал2% %бал3% %бал4%, пример:Вася Пупкин 4 3 2 1

Линус Торвальдс 1 2 3 4

Ричард Столлман 2 3 2 1

Нужно отсортировать по убыванию по сумме баллов и вывести %имя% %фамилия% %сумма баллов%

Всё нужно сделать 1 строкой



Решение от aonick и от xcr



Оригинальное условие:
На городской олимпиаде по информатике участникам было предложено выполнить 4 задания, каждое из которых оценивалось по 100 бальной системе. Известно что общее количество участников не превосходит 250 человек. Входной файл имеет вид:

<Фамилия> <Имя> <Баллы>

Пример файла:

Петрова Ольга 25 78 26 94

Калиниченко Иван 14 49 15 0

Напишите программу, которая выведет участников с суммой их баллов в порядке убывания


Концовку немного урезал =)
Так же есть вариации:...фамилию и имя участника, набравшего максимальное число баллов......трёх лучших участников.....не набравших нужное количество баллов...
И в таком духе, в решении приведены ~50 строчники на турбо паскале

Задача уровня С4 на егэ по информатике =)



Думаю проверяющие не поймут решения на bash, а жаль


Тэги: bash егэ
+ 7 -
Похожие Поделиться

anjolio 24.05.2009 14:24 #
+ 2 -
Эх.. Сейчас в винде :(

  1. awk'ом вытащить 4 циферки, сложить их и записать в файл получившиеся строки
  2. awk'ом вытаскиваем получившуюся сумму и ставим её на первое место
  3. sort
  4. awk'ом обратно кидаем циферку на третье место


Как такая идея?
xcr 24.05.2009 14:31 #
+ 1 -
Для каждой строчки: считываем, суммируем чиселки, выводим Имя, Фамилию, сумму.
Вывод этого цикла направляем в sort -r -g -k 3
Получаем профит. Точных деталей я не помню

Алсо, если не ошибаюсь, любой скрипт можно написать в одну строчку.
xcr 24.05.2009 14:49 #
+ 4 -
cat in | while read i; do j=($i); echo ${j<0>} ${j<1>} $((${j<2>}+${j<3>}+${j<4>}+${j<5>})); done | sort -r -g -k 3

Вот как-то так. Как проще - не знаю.
nvbn 24.05.2009 17:26 #
+ 0 -
Я буду ответственно относиться к безопасности своих приложений.
xcr 24.05.2009 17:28 #
+ 2 -
Чтооаа?
Это шутка?
exelens 24.05.2009 17:30 #
+ -2 -
Думаю он серьёзно =)
nvbn 24.05.2009 17:48 #
+ -2 -
Я буду ответственно относиться к безопасности своих приложений.
xcr 24.05.2009 17:49 #
+ 0 -
И задача формулировалась именно про bash-скрипты? OMG!
nvbn 24.05.2009 17:56 #
+ -2 -
Я буду ответственно относиться к безопасности своих приложений.
xcr 24.05.2009 18:02 #
+ 0 -
> на паскале
> 50ти строчное
А не много ли? О_о
Алсо, на плюсах с STL намного короче выйдет.
nvbn 24.05.2009 18:05 #
+ -2 -
Я буду ответственно относиться к безопасности своих приложений.
aonick 24.05.2009 16:38 #
+ 5 -
awk '{A=$3+$4+$5+$6; print $1,$2,A}' in | sort -k3 -n -r -выводит на данных параметрах:
Линус Торвальдс 10
Вася Пупкин 10
Ричард Столлман 8
nvbn 24.05.2009 17:26 #
+ 0 -
Я буду ответственно относиться к безопасности своих приложений.
aonick 24.05.2009 17:28 #
+ 2 -
Ура!!! =)
predator 24.05.2009 18:04 #
+ 0 -
ты что шутишь? сейчас и вправду такие задания? когда я сдавал там нужно было только прогу на паскале написать. И что в школе уже учат скриптингу?
nvbn 24.05.2009 18:15 #
+ -2 -
Я буду ответственно относиться к безопасности своих приложений.
nvbn 24.05.2009 18:15 #
+ -2 -
Я буду ответственно относиться к безопасности своих приложений.
NucleoFag 25.05.2009 02:01 #
+ 0 -
Чота задания слабоваты =))
В ПТУ задачки?
А ты молоток! Покажешь им на баше - сотку влепят =)))))
nvbn 25.05.2009 05:29 #
+ -2 -
Я буду ответственно относиться к безопасности своих приложений.

Смотреть видео онлайн

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн