Ajuda! Matriz não exibida corretamente!

1. Ajuda! Matriz não exibida corretamente!

Marcus Vinicius
vini_seven

(usa Outra)

Enviado em 21/09/2017 - 15:59h

#include <stdio.h>

int main ()
{
int L, C;
int l, c;
int val, count;

printf("Informe quantidade de Linhas: ");
scanf("%d",&L);
printf("Infrome quantidade de Colunas: ");
scanf("%d",&C);

int a,b;
int matriz[j];
for (i=0;i<L;i++){
printf("\nValor nas linhas: %i",i+1);
for(j=0;j<C;j++){
printf("Valor nas colunas: %i",j+1);
//printf("\n\nInforme um Valor: ");
scanf("%d",&matriz[j]);
}
}

printf("\n--sua matriz e: --\n");

for (a=0;a<L;a++){
printf("\n|");

for(b=0;b<C;b++){
printf(" %d ",matriz[j]);
}
printf("|\n");
}




return 0;
}

Tenho esse algoritmo pro usuário inserir as dimensões da matriz e os valores que vai estar nela, o problema é que o programa captura a dimensão da matriz e seus valores mas nao exibe-os corretamente.

>>Resultado após uma matriz dimensão 3x2 com valores de 1 a 6:

|1 3|
|3 5|
|5 6|
Matriz com 3 linhas e duas colunas... Mas o valor 2 não exibe.. Acho que seja problema ou no laço de exibição ou de captura


  


2. Re: Ajuda! Matriz não exibida corretamente!

Raphael Henrique
Raphael_Henrique

(usa XUbuntu)

Enviado em 21/09/2017 - 20:01h

Copiei o seu código tal como está e tentei compilar, mas deu erro.
1- A declaração da sua matriz está incorreta; do jeito que está, você na verdade está declarando um vetor. a declaração da matriz é feita assim:
int matriz[linhas][colunas];
2 - a forma de impressão dos valores pode ser corrigida com for encadeados, semelhante aos utilizados para capturar valores. Sugestão:

for(i=0;i<L;i++){
for(j=0;j<C;j++){
printf("%d", matriz[i][j]);
}
printf("|\n");
}



3. Re: Ajuda! Matriz não exibida corretamente!

Marcus Vinicius
vini_seven

(usa Outra)

Enviado em 21/09/2017 - 21:51h

Raphael_Henrique escreveu:

Copiei o seu código tal como está e tentei compilar, mas deu erro.
1- A declaração da sua matriz está incorreta; do jeito que está, você na verdade está declarando um vetor. a declaração da matriz é feita assim:
int matriz[linhas][colunas];
2 - a forma de impressão dos valores pode ser corrigida com for encadeados, semelhante aos utilizados para capturar valores. Sugestão:

for(i=0;i<L;i++){
for(j=0;j<C;j++){
printf("%d", matriz[i][j]);
}
printf("|\n");
}



Deu certo.. Na verdade era linha e coluna da matriz que tava com variavel diferente da que estava no laço..