Ir para conteúdo
Fórum Script Brasil
  • 0

Organizando string ordem alfabetica


Sleipbr

Pergunta

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

for(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 por Sleipbr
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
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

for(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 por jrsilvamg
Link para o comentário
Compartilhar em outros sites

  • 0

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 por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...