Ordenação de array de ponteiros para estruturas

C++ Medium pointers

Tarefa «Ordenação de array de ponteiros para estruturas»

Dada uma estrutura Person com os campos name (string) e age (inteiro). Crie um array de ponteiros para estruturas Person. Preencha o array com dados lidos da entrada padrão. Ordene o array de ponteiros por idade (em ordem crescente) usando a função qsort. Se a idade for igual, ordene pelo nome em ordem lexicográfica. Imprima a lista ordenada no formato: nome idade. Restrições: número de registros n (1 ≤ n ≤ 100), comprimento do nome não superior a 50 caracteres.

Formato de Entrada

Primeira linha: um inteiro n — número de registros. Em seguida, n linhas, cada uma contendo nome e idade separados por espaço.

Formato de Saída

n linhas, cada uma contendo nome e idade separados por espaço, ordenados por idade (em ordem crescente), em caso de idades iguais — por nome em ordem alfabética.

Exemplos

Exemplo 1

ENTRADA
3 Alice 25 Bob 20 Charlie 25
SAÍDA
Bob 20 Alice 25 Charlie 25

Exemplo 2

ENTRADA
2 Zara 30 Yan 30
SAÍDA
Yan 30 Zara 30

Exemplo 3

ENTRADA
4 4 1 2 1 2 3 2 1 3 4 3 4 1 1 4
SAÍDA
4
main.cpp