Comparação de nomes

Comparação de nomes

by Wilson Kazuo Mizutani -
Number of replies: 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.
In reply to Wilson Kazuo Mizutani

Re: Comparação de nomes

by 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?

In reply to Tonny Cordeiro

Re: Comparação de nomes

by 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.
In reply to Samuel Plaça de Paula

Re: Comparação de nomes

by 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.
In reply to Wilson Kazuo Mizutani

Re: Comparação de nomes

by 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!
In reply to Paulo Cheadi Haddad Filho

Re: Comparação de nomes

by Renato Augusto Vieira Nishimori -
Não é pra usar strcmp?
In reply to Renato Augusto Vieira Nishimori

Re: Comparação de nomes

by 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'.
In reply to Wilson Kazuo Mizutani

Re: Comparação de nomes

by Paulo Cheadi Haddad Filho -
Então, isso q eu queria saber: se o strcmp é o q se quer. Suponho q seja! hUAEHu!
In reply to Paulo Cheadi Haddad Filho

Re: Comparação de nomes

by 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... =/
In reply to Paulo Cheadi Haddad Filho

Re: Comparação de nomes

by 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?
In reply to Joao M. Miranda

Re: Comparação de nomes

by 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
In reply to Carlos E. Ferreira

Re: Comparação de nomes

by Douglas Bettioli Barreto -
Hmm... Isso significa então que nada do método strcasecmp tbm, certo? =(
In reply to Douglas Bettioli Barreto

Re: Comparação de nomes

by 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).