Ordenação alfabética de uma lista de strings. Use as funções de comparação de strings, discutidas na Seção 8.6, e as técnicas para classificar arrays, desenvolvida no Capítulo 6, para escrever um programa que coloque uma lista de strings em ordem alfabética. Use os nomes de 10 ou 15 cidades em seu estado como dados para o seu programa.
Passo 1
E aí meus queridos!! Tudo bem com vocês??
Hoje vamos fazer um programa que vai colocar em ordem alfabética os nomes de cidades que o usuário ler. Bora lá???
Primeiro vamos incluir nossa biblioteca
Veja como podemos a fazer:
Logo em seguida iniciamos o main. Declaramos a variável que conterá as strings, um auxiliar para colocar as strings temporariamente (até todas estarem em ordem) e dois contadores.
Passo 2
Agora que já declaramos todas as variáveis que precisamos, precisamos entrar com as strings digitadas pelo usuário. Para isso usaremos o loop for que lerá 10 nomes e guardará nos vetores do nome.
Temos todos os nomes que precisamos após esse código, agora precisamos analisar e coloca-los em ordem alfabética.
Passo 3
Vamos precisar desenvolver um loop do tipo for que fará a repetição da verificação e outro for dentro desse para verificar todas as palavras até que todas esteja em ordem alfabética. Observe:
No if comparamos a string atual com a string anterior e vemos se ela precisa ser depois ou antes da última string. Se ela for depois, precisamos trocar de posição. É onde usamos a função strcpy para copiar a string anterior numa variável auxiliar temporária.
Depois passamos a string atual que está sendo analisada para a string anterior.
Obs: não corremos risco de perder a string anterior porque ela está atribuída a nossa variável auxiliar.
E finalizamos colocando a auxiliar no lugar da string atual.
Passo 4
E restou apenas imprimirmos as variáveis agora em ordem!
Basta usarmos um for para fazermos a impressão normal. Veja a seguir:
E assim finalizamos nosso main!!
Ufa... Acabamos por aqui!! Dê Ctrl+n no seu compilador e bora para o próximo exercício!!
Resposta
E assim ficará nosso código: