Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

glopes41

[Resolvido] Ponteiro para matriz bidimensional

Recommended Posts

Olá pessoas,

Fiz alocação dinâmica de uma matriz bidimensional(3x3) com o seguinte codigo:

 

float **matriz()
{
    float **v;
    int   i;

    /* aloca as linhas da matriz */
    v = (float **) malloc(3*sizeof(float *));

    /* aloca as colunas da matriz */
    for ( i = 0; i < 3; i++ )   v[i] = (float*) malloc (3*sizeof(float));

    return v;
}

Eu quero percorrer toda a matriz v apenas incrementando um ponteiro.

Se eu fizer um laço e incrementar **v++, acesso apenas o primeiro elemento de cada linha.

Aguem sabe como fazer isso, ou mesmo se é possivel fazer isso?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Glopes, não é possível percorrer uma matriz com apenas um ponteiro.

você pode simular uma matriz.

 

Por exemplo:

#define COLS  10

float access_as_matrix(float *m, int line, int col)
{
    return m[line*COLS + col];
}

float matriz[10][10]; //guardará 10*10 floats,
float matriz_sim[100]; //também guardará 100 floats

    printf("%f\n", matriz[2][4]);
    printf("%f\n", access_as_matrix(matriz_sim, 2, 4));

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.