Ir para conteúdo
Fórum Script Brasil
  • 0

problema com saida do programa


Muhamed Avila

Pergunta

pessoal, fiz um programa aqu para contar um determinado numero de nomes e apresenta-los abreviados... o primeiro nome sai certinho, porem os outros sai com lixo de memória... e não estou conseguindo de jeito algum resolver isso... alguém por favor poderia me ajudar?

aqui está o código:

#include <stdio.h> 
    #include <conio.h>
    #include <string.h>
    #include <stdlib.h>
    #define MAX 20 
    main() 
    {  
       char frase[MAX]; 
       int tam, i, quantidade=1, posicao=0, q, cont, contador;
       char matriz[MAX][MAX]; 
       
          
       for (int aux=0; aux <5; aux++){
       
       printf("Digite um Nome:\n "); 
       gets(frase);  
       tam = strlen(frase); 
       for ( q = 0, i = 0; i < tam; i++ )
       {
           if (frase[i] == ' ')
           {
              for (cont = posicao, contador = 0; cont < i; contador++, cont++){
                  matriz[q][contador] = frase[cont];         
              }
              q++;
              posicao = i+1;
           }
       }
       for (cont = posicao, contador = 0; cont < i; contador++, cont++){
            matriz[q][contador] = frase[cont];         
       }
      
       printf("%s, ",matriz[q]);
       for( cont = 0; cont < q; cont++ ){
    printf("%c. ", matriz[cont][0]);
            printf("\n");
              q =0;
       cont=0;
       contador=0;
       i=0;
       posicao=0;
              
      
             
    }
}     
       system("pause");
       return 0;
    }

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Depois de copiar os elementos para a matriz, você precisa colocar um 0 no final da linha que você copiou.

Algo assim:

for (cont = posicao, contador = 0; cont < i; contador++, cont++)

{

matriz[q][contador] = frase[cont];

}

matriz[q][contador] = 0;

Editado por renan.greinert
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...