Ir para conteúdo

POWERED BY:

Arquivado

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

Rafaelbro

Ponteiros e Matrizes

Recommended Posts

#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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.