Bruno Pacheco Postado Abril 2, 2010 Denunciar Share Postado Abril 2, 2010 (editado) O meu programa não está imprimindo as strings da forma correta queria saber qual seria a solução do problema?#include<stdio.h> #include<stdlib.h> #include<string.h> int main(){ char strings[5][25],aux[5][30]; int count,count2; printf("\n\nDigite uma string:"); gets(strings[count]); for(count=0;count<5;count++){ for (count2=count+1;count2<5;count2++){ if (strcmp(strings[count],strings[count2])>0{ strcpy(aux,strings[count]); strcpy(strings[count],strings[count2]); strcpy(strings[count2],aux); } } } printf("\nAs strings digitadas foram:\n"); for(count=0;count<5;count++) printf("%s\n",strings[count]); system("Pause"); } Editado Abril 4, 2010 por Bruno Pacheco Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RonaldoRG Postado Abril 2, 2010 Denunciar Share Postado Abril 2, 2010 (editado) Testei seu código aqui e deu certo, imprimiu direitinho. Como é que tá saindo ai? Posta o resultado. Editado Abril 2, 2010 por RonaldoRG Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Bruno Pacheco Postado Abril 4, 2010 Autor Denunciar Share Postado Abril 4, 2010 (editado) Desculpe eu postei o código errado o código certo é este:O meu compilador está apontando o erro para estas linhas do código:linha 16 ->"if (strcmp (strings[count],strings[count2]))>0"O que faço para fazer o meu código compilar normal?#include<stdio.h> #include<stdlib.h> #include<string.h> int main(){ char strings[5][25],aux[5][30]; int count,count2; printf("\n\nDigite uma string:"); gets(strings[count]); for(count=0;count<5;count++){ for (count2=count+1;count2<5;count2++){ if (strcmp(strings[count],strings[count2])>0{ strcpy(aux,strings[count]); strcpy(strings[count],strings[count2]); strcpy(strings[count2],aux); } } } printf("\nAs strings digitadas foram:\n"); for(count=0;count<5;count++) printf("%s\n",strings[count]); system("Pause"); } Editado Abril 5, 2010 por Bruno Pacheco Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RonaldoRG Postado Abril 4, 2010 Denunciar Share Postado Abril 4, 2010 Tem alguns erros nesse seu código novo.//// Troca esse if (strcmp(strings[count],strings[count2])>0 <= Faltou um parentese no final //// Por esse if (strcmp(strings[count],strings[count2])>0) A função strcpy copia arrays e não matrizes, por isso você deve declarar "aux" assim: char aux[30]; Pelo que me lembro, a pessoa entra com 5 strings. Mas pelo seu código só vai entrar com um só. Então teria que acrescentar um for: for(cont = 0; cont < 5; cont++) { printf("\n\nDigite uma string:"); gets(strings[count]); }Você editou seu primeiro post e não sei mais o que seu programa deve fazer. Esse seu código agora tá meio confuso.Cadê o código que você postou inicialmente? Ele funcionou certinho aqui.Qualquer coisa retorna. Abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Bruno Pacheco Postado Abril 5, 2010 Autor Denunciar Share Postado Abril 5, 2010 (editado) Eu postei errado agora eu postei o código que eu queria. Esse código já está compilando normal e na verdade ele coloca os nomes que a pessoa digitar em ordem alfabética. Mas voce pode me dizer melhor porque a função strcpy só aceita "aux" como declaração e não "aux"? Editado Abril 5, 2010 por Bruno Pacheco Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RonaldoRG Postado Abril 5, 2010 Denunciar Share Postado Abril 5, 2010 Porque o protótipo da função é essa:char * strcpy ( char * destino, const char * origem )Ela foi feita pra copiar uma string para outra, e não matrizes.Agora achei nesse tópico http://scriptbrasil.com.br/forum/index.php...61&hl=qsort um post seu com a mesma dúvida. Você testou o código que o Durub postou?Testa ai pra ver se funciona e posta o resultado. Abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Bruno Pacheco
O meu programa não está imprimindo as strings da forma correta queria saber qual seria a solução do problema?
Editado por Bruno PachecoLink para o comentário
Compartilhar em outros sites
5 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.