Ir para conteúdo

POWERED BY:

Arquivado

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

marialuiza

Matriz em c

Recommended Posts

Matriz 10x10 não tá funcionando, alguém ajuda?


int main()


{

int m[10][10];

int i,j;

for(i=0;i<10;i++)

{

for(j=0;j<10;j++)

{

printf("Digite o valor: ");

scanf("%d", &m[j]);

}

}

for(i=0;i<10;i++)

{

for(j=0;j<10;j++)

{


printf("%d", &m[j]);

}

printf("\n");

}

system("pause");

}

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 09/11/2016 at 18:39, Nefisto disse:

Ola maria luiza, o unico erro do seu esta nessa linha:

printf("%d", &m[j]); 

Na verdade há duas linhas erradas e não apenas uma. Uma delas é essa que você diz. Por causa do caractere "e comercial" (&) a função printf irá mostrar o endereço de memória da matriz m e não o seu valor. Consequentemente irá aparecer um monte de números "estranhos" na hora de imprimir eles na tela bem como você diz. A outra linha errada é:

scanf("%d", &m[j]);

Faltam nessas duas linhas de código citadas o segundo índice da matriz m para que as 100 posições tenham seus valores lidos e depois armazenados nela. Como essa matriz é de 10 por 10 posições então não há como o programa armezenar e mostrar corretamente os 100 valores digitados se não for informado o segundo índice que corresponde as colunas da matriz sendo que o primeiro corresponde as linhas. Informar somente as linhas e não as colunas dá em resultados errados na hora de guardar e também mostrar os valores. Então respectivamente:

scanf("%d", &m[j]);

e

printf("%d", &m[j]);

Irá ficar:

scanf("%d", &m[i][j]);

e

printf("%d", m[i][j]);

 

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.