Ir ao conteúdo
  • Cadastre-se

Erro na hora da execução


lucassrfreire

Posts recomendados

Pessoal, estou tendo dificuldades aqui na programação. Quando tento executar esse código ele compila certinho, mas aparece o erro:
 
"Nome_do_programa" parou de funcionar
procurar solução online...

#include <stdio.h>#include <stdlib.h>#include <conio.h>main(){int linhas, colunas,  i, j;int matriz[linhas][colunas];printf("Digite o numero de linhas da matriz: ");scanf("%d", &linhas);printf("Digite o numero de colunas da matriz: ");scanf("%d", &colunas);printf("Voce gerou uma matriz [%d][%d]\n\n\n",linhas, colunas);for(i=0; i<linhas; i++){    for(j=0; j<colunas; j++){        printf("Digite a posicao [%d][%d]: ",i, j);        scanf("%d",&matriz[i][j]);    }    printf("\n");}printf("Voce gerou a matriz: \n");for(i=0; i<linhas; i++){    for(j=0; j<colunas; j++){        printf("%d ",matriz[i][j]);    }    printf("\n");}}

Como eu soluciono isso?

Valeu

Link para o comentário
Compartilhar em outros sites

Ok '!'

 

Erro está ao iniciar variáveis

int linhas, colunas, i, j;int matriz[linhas][colunas];

Dentro o computador: linhas; colunas; Já possuem valor muito antes de você

digitar os valores nas Main::scanf();

A mesma coisa acontece com matriz[linhas][colunas] que será iniciada com esse valores indeterminados.

Link para o comentário
Compartilhar em outros sites

Ok '!'

 

Erro está ao iniciar variáveis

int linhas, colunas, i, j;int matriz[linhas][colunas];

Dentro o computador: linhas; colunas; Já possuem valor muito antes de você

digitar os valores nas Main::scanf();

A mesma coisa acontece com matriz[linhas][colunas] que será iniciada com esse valores indeterminados.

E como eu faço a declaração da matriz de forma que depois o usuário entre com o numero de linhas e de colunas da matriz?

Outro problema que estou tendo é em relação a leitura da matriz. Na hora de imprimir ele imprime os dados da ultima linha da matriz em todas as linhas. Por exemplo

a matriz é: 

1  2  3

4  5  6

7  8  9

 

Ele imprime: 

7  8  9

7  8  9

7  8  9

 

Valeu!

Link para o comentário
Compartilhar em outros sites

Ok '!'
Você fez tudo certinho, só na ordem dos acontecimentos é que esta o erro:

 

Observe:

Para corrigir você so precisa colocar a declaração da matriz depois que tiver valores  de linhas, e colunas certinhos.

printf("Digite o numero de linhas da matriz: ");scanf("%d", &linhas);printf("Digite o numero de colunas da matriz: ");scanf("%d", &colunas);printf("voce gerou uma matriz [%d][%d]\n\n\n",linhas, colunas);// Agora posso criar minha matriz com segurança, neste ponto será como esperado.int matriz[linhas][colunas]; /* Matriz criada com valores passado para scanf */
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...