Ir para o conteúdo
suzy

array multimendisional inicialização

Mensagens Recomendadas

suzy    0
suzy

quero colocar valores num array multimendisional, ou seja os valores sao colocados pelo utilizador, como tal o array nao é inicializado, mas no ultimo printf da me lixo, nao me da efectivamente os valores que se inseriu, aonde está o erro?

#include<stdio.h>
main()
{
  int v[2][2],linha,coluna,al=0;


  for(linha=0;linha<2;linha++)
  {
    for(coluna=0;coluna<2;coluna++)
     {
     printf(" coloque os valores %d\n",al);
     scanf("%d",&v[linha][coluna]);
     al++;
     
     }
     
  }
  printf(" os valores sao %d\n",v[linha][coluna]);

  fflush(stdin);
  getchar();
}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Hipnoted    6
Hipnoted

Tens de fazer um novo for para mostrar todos os valores do array, ou seja, é o mesmo que fizeste com os fors de cima mas em vez de leres vais mostrar os valores.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
MX+    0
MX+

dá lixo pois vais tentar imprimir o valor de v[2][2], posição essa que não está dentro dos limites do array!

Exactamente, porque no final de cada for, ele incrementa e ficas com linha = 2 e coluna = 2.

Não sei como não dá Seg. Fault..

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Warrior    68
Warrior

Windows ainda é mais piquinhas nisso do que linux..

Provavelmente não dá Seg Fault porque ela declarou 3 variáveis depois de "v". É bastante provável que tenham ficado em espaços contíguos de memória e ela esteja a imprimir uma delas..

Anyway, a solução passa mesmo por repetir os fors..

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade