• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

suzy

array multimendisional inicialização

6 mensagens neste tópico

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();
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

Se calhar em Windows é capaz de ser difícil dizer "Segmentation fault" :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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..

0

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