radak Postado Setembro 7, 2008 Denunciar Share Postado Setembro 7, 2008 Pessoal como estão?Ando estudando o codigo abaixo, porem não consigo modifica-lo para ordenar alfabeticamente 5 palavras, por exemplo.não entendo como dizer ao C para identificar que A vem antes do B e C...D...E.. ordenando as palavras pela primeira letra que se iniciam.Se alguém tiver alguma dica fico grato!------------------------------------------------------------------------/* Troca a ordem das palavras da linha de comando*/#include <stdlib.h> /* Precisa para o malloc*/#include <stdio.h> /* precisa desta biblioteca para o puts*/int main(int argc,char **argv){ int i; char **lista;/* Lista de palavras da linha de comando*/ char *p; /* Apontador provisorio*//* Aloca memoria para a lista*/lista = (char **)malloc(argc * sizeof(char *)); /* Sizeof é a quantidade de bits no apontador*//* Copia os argv's para a lista*/for(i=0;i<argc;i++){ lista=argv; }/*Troca lista[0] com lista[argc-1] */p=lista[0];lista[0]=lista[argc-1];lista[argc-1]=p;/*Escreve a lista*/for(i=0;i<argc;i++) puts(lista);return 0;} Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
radak
Pessoal como estão?
Ando estudando o codigo abaixo, porem não consigo modifica-lo para ordenar alfabeticamente 5 palavras, por exemplo.
não entendo como dizer ao C para identificar que A vem antes do B e C...D...E.. ordenando as palavras pela primeira letra que se iniciam.
Se alguém tiver alguma dica fico grato!
------------------------------------------------------------------------
/* Troca a ordem das palavras da linha de comando*/
#include <stdlib.h> /* Precisa para o malloc*/
#include <stdio.h> /* precisa desta biblioteca para o puts*/
int main(int argc,char **argv)
{
int i;
char **lista;/* Lista de palavras da linha de comando*/
char *p; /* Apontador provisorio*/
/* Aloca memoria para a lista*/
lista = (char **)malloc(argc * sizeof(char *)); /* Sizeof é a quantidade de bits no apontador*/
/* Copia os argv's para a lista*/
for(i=0;i<argc;i++){
lista=argv;
}
/*Troca lista[0] com lista[argc-1] */
p=lista[0];
lista[0]=lista[argc-1];
lista[argc-1]=p;
/*Escreve a lista*/
for(i=0;i<argc;i++) puts(lista);
return 0;
}
Link para o comentário
Compartilhar em outros sites
0 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.