Rafaelbro 0 Denunciar post Postado Dezembro 10, 2010 #include <conio.h> #include <conio2.h> #include <stdlib.h> #include <stdio.h> #include <windows.h> char *p[5]; int a=0,b=0,c=0; int escreve (){ char nomes [5][20]; printf ("Instrucoes:\n 1- Os nomes devem ser escritos com sua primeira letra maiuscula seguido de letras minusculas."); system ("pause"); system ("cls"); printf ("Escreva cinco nomes:"); for (a=0;a<5;a++){ gets (nomes[a]); p[a]=nomes[a]; printf ("%s", p[a]); while (((nomes[a][0])<65)||((nomes[a][0])>90)){ printf("A primeira letra deve ser maiuscula e seguinda de letras minúsculas, escreva novamente: "); gets (nomes[a]); p[a]=nomes[a];}} system ("pause"); system ("cls");} void sort (char **p){ char *r; for (a=0;a++;a<5){ for (b=a+1;b++;b<5){ if ((p[a])<(p[b])){ r=p[a]; p[a]=p[b]; p[b]=r;}}}} int exibi (){ for (a=0;a<5;a++) printf ("%s\n", p[a]);} int main (){ while (a!=27){ escreve(); sort(p); exibi(); printf ("Caso deseje sair do programa aperte Esc, se quiser continuar e escrever mais nomes pressione qualquer outra tecla"); a=getch( ); } } O objetivo do programa é através de ponteiros, ordenar a matriz 'nomes' em ordem alfabética porém estou tendo um pouco de dificuldades com a parte de ponteiros, se alguem puder me apontar o erro ficaria muito agradecido. Compartilhar este post Link para o post Compartilhar em outros sites
guidjos 65 Denunciar post Postado Dezembro 10, 2010 1. Use a tag code. 2. Use nomes de variáveis que possuam sentido semântico. Os próprios comandos da linguagem fazem sentido, por que transformar seu código em algo ilegível? 3. Qual o problema do seguintes códigos? 3.1 #include <stdlib.h> #include <stdio.h> int funcao(void) { printf("Testando."); } int main(void) { funcao(); return 0; } 3.2 #include <stdlib.h> #include <stdio.h> int main(void) { char entrada[100]; printf("Digite um nome: "); gets(entrada); printf("\n\tO nome digitado foi \"%s\".\n", entrada); return 0; } 3.3 - Esse aqui tem 2 problemas graves: #include <stdlib.h> #include <stdio.h> char *lerentrada(void) { char entrada[100]; printf("Digite um nome: "); gets(entrada); return entrada; } int main(void) { char *nome = lerentrada(); printf("\n\tNome lido: %s", nome); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites