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