Sleipbr Postado Maio 30, 2011 Denunciar Share Postado Maio 30, 2011 (editado) Como posso colocar uma char string[4] em ordem alfabetica?exemplostring.nome[0]="Daniel"string.nome[1]="Alex"string.nome[2]="Manoel"string.nome[3]="Caio"fica desse jeito:string.nome[0]="Alex"string.nome[1]="Caio"string.nome[2]="Daniel"string.nome[3]="Manoel"organizar desse tipo.usando umfor(i=0;i<=4;i++) { if(string[i].nome[0]>string[i+1].nome[0]) { strcopy(aux, string[i].nome); strcopy(string[i].nome, string[i+1].nome); strcopy(string[i+1].nome, aux); } }mas não ordena por completo Editado Maio 30, 2011 por Sleipbr Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jrsilvamg Postado Maio 31, 2011 Denunciar Share Postado Maio 31, 2011 (editado) Como posso colocar uma char string[4] em ordem alfabetica?exemplostring.nome[0]="Daniel"string.nome[1]="Alex"string.nome[2]="Manoel"string.nome[3]="Caio"fica desse jeito:string.nome[0]="Alex"string.nome[1]="Caio"string.nome[2]="Daniel"string.nome[3]="Manoel"organizar desse tipo.usando umfor(i=0;i<=4;i++) { if(string[i].nome[0]>string[i+1].nome[0]) { strcopy(aux, string[i].nome); strcopy(string[i].nome, string[i+1].nome); strcopy(string[i+1].nome, aux); } } mas não ordena por completo A função strcoll(string[0], string[1]) compara uma cadeia de caracter retorna -1 string[1] vir primeiro string[0] retorna 0 string[1] for igual string[0] retorna 1 string[1] vir primeiro string[0] Exemplo de um codigo #include <stdio.h> #include <stdlib.h> int main(){ char palavra1[10] = "Pera"; char palavra2[10] = "Maca"; int retorno; retorno = strcoll(palavra2, palavra1); printf("Retorno das %s e %s = %d\n", palavra1, palavra2, retorno); retorno = strcoll(palavra1, palavra2); printf("Retorno das %s e %s = %d\n", palavra2, palavra1, retorno); retorno = strcoll(palavra1, palavra1); printf("Retorno das %s e %s = %d\n", palavra1, palavra1, retorno); system("pause"); } Editado Maio 31, 2011 por jrsilvamg Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Andrey_C Postado Junho 10, 2011 Denunciar Share Postado Junho 10, 2011 (editado) Consegui só q ele só coloka em ordem alfabetica duas variaveis#include <stdio.h> #include <stdlib.h> int main(){ char palavra1[10]; char palavra2[10]; int retorno; scanf("%s", &palavra1); scanf("%s", &palavra2); retorno = strcoll(palavra2, palavra1); if(retorno==1){ printf("%s\n%s\n\n", palavra1,palavra2); }else{ printf("%s\n%s\n\n", palavra2,palavra1); } system("pause"); } Editado Junho 11, 2011 por kuroi Adicionar tag CODE Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jrsilvamg Postado Junho 10, 2011 Denunciar Share Postado Junho 10, 2011 você precisa de ordenar qts palavras?você pode usar laço FOR para comparar todas as palavrasComparações 1 - 2 1 - 31 - 42 - 32 - 43 - 4 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Sleipbr
Como posso colocar uma char string[4] em ordem alfabetica?
exemplo
string.nome[0]="Daniel"
string.nome[1]="Alex"
string.nome[2]="Manoel"
string.nome[3]="Caio"
fica desse jeito:
string.nome[0]="Alex"
string.nome[1]="Caio"
string.nome[2]="Daniel"
string.nome[3]="Manoel"
organizar desse tipo.
usando um
mas não ordena por completo
Editado por SleipbrLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.