Estou criando um algoritmo e puxa um arquivo txt cujao tem o tamnho da matriz e caracteres q juntos representam um labirinto. Ao programar em c como divido minhas funções ? Queria uma para ler a matriz uma para pegar o arquivo uma para organizar matriz e outra para reconhecer o r e o p ?
segue o código:
#include <iostream>
#include <iomanip>
#include <fstream>
#include <stdlib.h>
#include <string>
using namespace std;
int main(void)
{
char **m_ini;
int l,c;
// declaro variavel file hadle para um txt
ifstream txtFile;
// abrindo o arquivo txt
txtFile.open ("maze20x20.txt");
// le o tamonho da matriz
txtFile >> l >> c ;
// aloco memoria
m_ini = (char **) malloc(l * sizeof(int*));//char
for ( int nl = 0 ; nl<l; nl ++)
{
m_ini[nl] = (char *) malloc(c * sizeof(int));
}
// le os valores do arquivo e preenche
for (int i=0;i<l;i++)
{
for(int j=0;j<c;j++)
{
txtFile >> m_ini[i][j];
}
}
// imprime o valor da matriz na tela
cout << " A matriz lida do arquivo tem tamanho: " << l << " x " << c;
cout << " Conteudo da matriz inicial no arquivo: " << endl;
for(int i=0;i<l;i++)
{
for (int j=0;j<c;j++)
{
cout << m_ini[i][j] << "";
}
cout << endl;
}
cout << endl <<endl;
printf("\n\n******************* Saida ********************* \n\n");
for(int i=0;i<l;i++)
{
for (int j=0;j<c;j++){
if (m_ini[i][j] == 'r')
{
printf ("\n Elemento R [%i][%i] ", i, j);
}
}
}
// fazer do p tbm
for(int i=0;i<l;i++)
{
for (int j=0;j<c;j++){
if (m_ini[i][j] == 'p')
{
printf ("\n Elemento p [%i][%i] ", i, j);
}
}
}
for(int i=0;i<l;i++)
{
for (int j=0;j<c;j++){
if (m_ini[i][j] == '#')
{
printf ("\n Elemento # [%i][%i] ", i, j);
}
}
}
}