Ir ao conteúdo
  • Cadastre-se

Ordenação de Matriz de Strings - Coisa rápida


Sejo

Posts recomendados

bem eu fiz o exemplo abaixo pra ver se alguem pode me dar uma luz

to com problema pra ordenar uma matriz de strings, eu sei que a comparação


if(string[i]<string[i-1])

está errada, mas pelo o que eu substituo?

a troca de strings também está dando erro, se alguém puder ajudar agradeço

desculpa se já existe tópico sobre isso, só que eu realmente não achei


#include <stdio.h>
#include <string.h>

void bubblesort(char string[][]);

int main ()
{
char strings [5][100];
int count;
for (count=0;count<5;count++)
{
printf ("\n\nDigite uma string: ");
gets (strings[count]);
}
bubblesort(strings);
for (count=0;count<5;count++)
printf ("%s\n",strings[count]);
return(0);
}

void bubblesort(char string[][])
{
int i,troca = 1;
char aux[40];
while(troca) {
troca = 0;
for(i = 1; i < 5; i++)
if(string[i]<string[i-1])
{
strcpy(aux,&string[i-1]);
strcpy(&string[i-1],&string[i]);
strcpy(&string[i],aux));
troca = 1;
}
}
}

Link para o comentário
Compartilhar em outros sites

Troque essa comparação por

if(!strcmp(string, string[i-1])//significa se as strings forem iguais, faça

Não mesmo.

Ele quer ordenar, o certo é fazer isso:

[B]if(strcmp(string[i],string[i-1])<0)[/B]

E a ordenação devia ter sido feita assim:

    strcpy(aux,string[i-1]);
strcpy(string[i-1],string[i]);
strcpy(string[i],aux));

Mas nesse caso, dá na mesma...

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!