Breve duvida sobre ponteiro em array bidimensional

1 resposta
A

Boa noite, estou com uma duvida/ probleminha em questao a ponteiros ja que ainda nao to dominando muito bem esse recurso…
É o seguinte, brevemente, eu tentei passar um codigo enorme concentrado tudo na main pra funçoes auxiliares. Eu cirei uma que criasse e preenchesse uma matriz 10x10. Ai eu criei uma funçao que recebe essa matriz e basicamente a printa, mas to tendo problema nessa parte… Eu quero passar o ponteiro da matriz, ou se houvesse outro jeito/melhor aceitaria ajuda, como falei, ponteiros ainda nao to dominando nada. Abraço!

#include <ctype.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
#include <locale.h>
#define NLinhasMax 10
#define NColunasMax 10

void printa_mapa(int lines, int columns, char **frame)

{

int linha, coluna;
///Printa mapa com cobra no lugar inicial
for(linha=0; linha<lines; linha++)                                       /* Printar o resultado inicial de como fica a matriz mapa */
{   for(coluna=0; coluna<columns; coluna++)
        printf("%c ", *(*(frame+linha)+coluna));                                /* INICIO COBRA  INICIO COBRA INICIO COBRA INICIO COBRA INICIO COBRA INICIO COBRA INICIO COBRA INICIO COBRA*/
    printf("\n");
}

}

void mapa_fase1(void)

{

char matriz[NLinhasMax][NColunasMax];

int linha, coluna, i;

int *ponteiro;

ponteiro = &matriz[0][0];
///Cria a matriz do mapa do snake
for(linha=0; linha<NLinhasMax; linha++)                                 /* Deixar a matriz que seria a tabela com as bordas definidas por # e o interior como "nada", ou espaço realmente */
{  for(coluna=0; coluna<NColunasMax; coluna++)
     {   if (linha==0 || linha==(NLinhasMax - 1)
             || coluna==0 || coluna==(NColunasMax - 1))                 /*Se for a primeira ou a ultima linha, preenche tudo com #. Se for a primeira ou a ultima coluna, também. Resto "espaço" */
            matriz[linha][coluna] = '#';
         else
            matriz[linha][coluna] =' ' ;                                /* TABELA TABELA TABELA TABELA TABELA TABELA TABELA TABELA TABELA TABELA TABELA TABELA TABELA TABELA */
     }
}

printa_mapa(NLinhasMax,NColunasMax,ponteiro);
}

int main()

{

mapa_fase1();

return 0;
}

1 Resposta

saulod2

Viuche que coisa mal formatada. Tem como repostar o código? Assim compreenderemos melhor!

o/

Criado 13 de maio de 2016
Ultima resposta 14 de mai. de 2016
Respostas 1
Participantes 2