Jump to content
Sign in to follow this  
rdias

Duvida Alocar Matriz

Recommended Posts

rdias

Boas,

Estou a desenvolver um jogo em que tenho uma matriz de inteiros que é alocada dinamicamente e com o decorrer do jogo vou precisar de alocar mais linhas e colunas a essa matriz.

A minha pergunta é:

Para aumentar essa matriz, tenho de alocar uma nova matriz com o tamanho pretendido e libertar a anterior (copiando os devidos valores primeiro) ou basta alocar mais campos na mesma matriz ? (ou outra solução)

Share this post


Link to post
Share on other sites
rdias

A matriz é criada com o malloc mas depois de criada é necessário aumentar o numero de linhas e colunas (mantendo a informação lá guardada).

Já tentei usar o realloc mas ainda não consegui  :wallbash:

EDIT: Uma solução possível seria alocar uma nova matriz com o novo tamanho, copiar os valores da anterior, e libertar a anterior. Mas se houvesse uma maneira melhor de fazer isso era preferível.

Share this post


Link to post
Share on other sites
pedrosorio

A matriz é criada com o malloc mas depois de criada é necessário aumentar o numero de linhas e colunas (mantendo a informação lá guardada).

Já tentei usar o realloc mas ainda não consegui  :wallbash:

EDIT: Uma solução possível seria alocar uma nova matriz com o novo tamanho, copiar os valores da anterior, e libertar a anterior. Mas se houvesse uma maneira melhor de fazer isso era preferível.

Deves usar realloc como foi dito. Para cada malloc que fizeste, tens que fazer um realloc.


Não respondo a dúvidas por mensagem.

Share this post


Link to post
Share on other sites
rdias

Já consegui!!

Estava-me a dar um erro de violaçao de acesso á mem. porque estava a fazer realloc ás linhas e colunas.

Solução:

- Para as linhas que faltavam fiz malloc

- Para cada linha fiz realloc ás colunas

Obrigado  :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.