Cerința
Se citește numărul n
și apoi n
articole cu structura: prenume nume salariu vârstă funcție număr_de_telefon email
. Fiecare articol este plasat pe câte o linie, câmpurile sale fiind separate prin câte un spațiu. Câmpurile salariu
și vârstă
conțin numere naturale, celelalte conțin șiruri de caractere.
Se citește apoi un număr natural p
cuprins între 1
și 7
și un caracter c
care poate fi +
sau -
.
Se cere ordonarea celor n
articole în funcție de p
și c
, astfel:
- dacă
p=1
, ordonarea se face dupăprenume
; dacăp=2
, ordonarea se face dupănume
; dacăp=3
, ordonarea se face dupăsalariu
; dacăp=4
, ordonarea se face dupăvârstă
; dacăp=5
, ordonarea se face dupăfuncție
; dacăp=6
, ordonarea se face dupănumăr_de_telefon
; dacăp=7
, ordonarea se face dupăemail
; - dacă
c
are valoarea+
, ordonarea va fi crescătoare, iar dacăc
are valoarea-
, ordonarea va fi descrescătoare; - dacă două articole au aceeași valoare a câmpului în raport cu care se face sortarea, ordinea lor nu se va modifica.
Date de intrare
Programul citește de la tastatură numărul n
, apoi cele n
articole, fiecare pe câte o linie, câmpurile fiecărui articol fiind separate prin câte un spațiu, apoi p
și c
cu semnificația din enunț.
Date de ieșire
Programul va afișa pe ecran articolele sortate conform cerinței. Fiecare articol va fi afișat pe câte o linie, câmpurile fiind separate prin câte un spațiu.
Restricții și precizări
1 ≤ n ≤ 80
- câmpurile numerice vor avea valori pe 64 de biți fără semn, iar celelalte vor avea maximum
255
de caractere.
Exemplu:
Intrare
3 Len Trexler 100000 55 Spymaster 5554440192 lt@sp.com Oliver Regina 0 37 Vigilante 1234567890 or@vg.com Sterling Archer 1000000 43 Agent 8423565491 sa@ag.com 2 +
Ieșire
Sterling Archer 1000000 43 Agent 8423565491 sa@ag.com Oliver Regina 0 37 Vigilante 1234567890 or@vg.com Len Trexler 100000 55 Spymaster 5554440192 lt@sp.com
Explicație
S-a sortat crescător după nume(2), și s-au afișat.