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

(Resolvido) problemas com matriz..onde está o erro.


david-ikki

Pergunta

Bom pessoal, eu de novo..rs..

Bom dia...passei a noite tentando resolver e não consegui...

veja código:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int mat[3][3],i,j;
    printf("\nDigite valores: ");
    for(i=0;i<3;i++)
    {
    printf("\nDigite a linha %d: ",i);
    scanf("%d",&mat[i][j]);
    for(j=1;j<3;j++)
    {
    printf("\nDigite a coluna %d: ",j);
    scanf("%d",&mat[i][j]);
}
}
printf("\n\n");                              
  for(i=0; i<3; i++)
  {
           printf("\n");
   printf("%3d  ",mat[i][j]);        
  for(j=1;j<3;j++)
  {
           printf("%3d  ",mat[i][j]);
           }
           }
getch();
return(0);
}

postei assim pôs não consegui usar o codebox.

Bom..O problema é o seguinte:

o programa roda certo o unico erro que eu vi é que o valor de [0] na matriz mat[j], não está sendo impresso por quê ???

O que está acontecendo...

obrigado..desde já agrdeço a atenção...

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olá david-ikki,

O modo correto para trabalhar com matriz seria você fazer 2 for's (um para linha e outro para coluna). Pelo que vi, quando você está colocando valor para o primeiro registro na matriz (posição 0,0), o "i" está com valor 0 porém o "j" não tem um valor definido (pode estar valendo 1000, 2000, etc).

Da mesma forma está acontecendo nos for's para mostrar a matriz.

Aconselho que você trabalhe com matriz da seguinte maneira:

for(i=0;i<3;i++)
{
  for(j=0;j<3;j++)
  {
    printf("\nDigite o valor [%d,%d]: ",i,j);
    scanf("%d",&mat[i][j]);  
  }
}

Utilize essa estrutura tanto para inserir quanto para mostrar os valores e nos informe se deu certo.

Abraço,

Link para o comentário
Compartilhar em outros sites

  • 0

É isso mesmo, essa passagem aqui não fez sentido:

para i de 0 a 3
printf("\nDigite a linha %d: ",i);
scanf("%d",&mat[i][j]);
...

já que o j vai valer lixo de memória (primeira iteração) ou 2 (nas outras). Se quiser fazer desse jeito (esperando input da coluna no primeiro loop), tem que criar uma variável temporária pra linha, e usá-la no segundo loop. Ainda assim, não entendo por que fazer desse jeito e não do jeito sugerido acima.

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...