Comparação de nomes

Comparação de nomes

por Wilson Kazuo Mizutani -
Número de respostas: 12
No caso:

Armando da Silva
Armando Gustavo

Quem vem primeiro? O 'd' é menor que o 'G', mas às vezes em listas de ordem alfabética de nomes essas preposições são simplesmente ignoradas. Nesse caso, a comparação seria entre o 'S' e o 'G', e eles teriam que trocar de lugar.
Em resposta à Wilson Kazuo Mizutani

Re: Comparação de nomes

por Tonny Cordeiro -
Eu tenho uma OUTRA dúvida a respeito da comparação de nomes:

Eu poderia fazer um vetor e ordenar os nomes com um algoritmo de complexidade n(logn).

Porém acredito que tenha mais haver com a proposta do ep, ordená-los com manipulação de listas ligadas (mesmo com uma complexidade pior).


Estou certo?

Em resposta à Tonny Cordeiro

Re: Comparação de nomes

por Samuel Plaça de Paula -
Tonny,
Não sei se seria muita vantagem criar uma "versão" do vet_a ordenada por nomes. Mais fácil já inserir na ordem certa nas listas ligadas mesmo, não?

É que não sei se entendi direito o que você quer fazer.
Em resposta à Samuel Plaça de Paula

Re: Comparação de nomes

por Tonny Cordeiro -
Valeu Samuel,

eu tinha até me planejado pra fazer assim, mas depois esqueci, porque comecei a imaginar os vet_a e vet_d organizados como se fosse uma "tabela cheia de buracos".

Sei lá se fui claro. Mas tb, se não fui, blz tb. O que interessa é q vc já me ajudou.
Em resposta à Wilson Kazuo Mizutani

Re: Comparação de nomes

por Paulo Cheadi Haddad Filho -
Estou com a mesma dúvida, só q piorada XD

Marcos Daniel
Marcos da Silva

As maiúsculas vem antes ou depois? Ou eu posso acreditar na ordem lexicográfica?

E outra: podemos esquecer dos caracteres acentuados? Eles são chatos...


Valeu!
Em resposta à Paulo Cheadi Haddad Filho

Re: Comparação de nomes

por Renato Augusto Vieira Nishimori -
Em resposta à Renato Augusto Vieira Nishimori

Re: Comparação de nomes

por Wilson Kazuo Mizutani -
A função strcmp() usa os valores da tabela ASCII, em que as maiúsculas vêm antes das minúsculas. Se vc for ver no arquivo saida1.txt que os monitores forneceram tem lá:

A FEP0240

1765638 Alexandre de Oliveira Neto

2867625 Alexandre Valadares

1747327 Bernardo Toshinori Narutaki

2840715 Christian Marcus Ortega

2842016 Luciano Silva

Usando strcmp(), os dois primeiros nomes ficam invertidos! Logo, ou ele considerou que 'd' < 'V' ou ele não considera as preposições, e compara o 'V' de Valadares direto com o 'O' de Oliveira. Só por esse exemplo não dá para saber, por isso a dúvida.

Ah, e Paulo, acho que nesse caso é só considerar as próximas letras até encontrar uma diferenete, como se 'D' == 'd'.
Em resposta à Wilson Kazuo Mizutani

Re: Comparação de nomes

por Paulo Cheadi Haddad Filho -
Então, isso q eu queria saber: se o strcmp é o q se quer. Suponho q seja! hUAEHu!
Em resposta à Paulo Cheadi Haddad Filho

Re: Comparação de nomes

por Paulo Cheadi Haddad Filho -
Ah! Agora q eu li! (maldito delay de post)

Tô vendo q eu vou ter q tirar a dúvida na aula... =/
Em resposta à Paulo Cheadi Haddad Filho

Re: Comparação de nomes

por Joao M. Miranda -
A melhor pessoa para responder isso é o Carlinhos.

De qualquer forma, quem vem antes na vida real: Marcos da Silva ou Marcos Danete?

Na lista da Fuvest (que todo mundo entende bem), o Marcos da Silva vem primeiro, certo?

Acho que assim fica resolvido, certo?
Em resposta à Joao M. Miranda

Re: Comparação de nomes

por Carlos E. Ferreira -
Respondi para os que me perguntaram na aula de hoje. A ordenação deve ser como feita em língua portuguesa (ou seja, 'd' < 'E', e 'd'='D' e ainda ' '< 'a'). E comparação letra a letra (lexicográfica).

--
carlinhos
Em resposta à Carlos E. Ferreira

Re: Comparação de nomes

por Douglas Bettioli Barreto -
Hmm... Isso significa então que nada do método strcasecmp tbm, certo? =(
Em resposta à Douglas Bettioli Barreto

Re: Comparação de nomes

por Felipe Lamberti Amado -
Eu usei a strcmp, mas primeiro coloquei todos os caracteres em maiúsculo (usando a função toupper e strings auxiliares para armazenar temporariamente esses nomes em caixa alta).