Buenas gente, necesito que me ayuden para leer un fichero carácter a carácter y a la vez almacenarlo en una matriz.
y para la funcion anterior la estructura del fichero es asi:
4 5
1 3 4 5 3
1 3 4 5 3
1 3 4 5 3
1 3 4 5 3
donde el primer 4 indica el numero de FILAS y el 5 numero de COLUMNAS, que se recogen en los parámetros de la función.
pero necesito modificar el codigo para que haga lo mismo pero con una matriz de caracteres asi:
8 10
.*....**..
...**....*
.*..*.**.*
....*..*..
.****....*
.**...*..*
.**.***..*
......*...
donde el 8 y el 10 son FILAS y COLUMNAS.
He hecho cambios, como declarar la funcion tipo char**, declarar matriz tipo char, y reservar memoria para una matriz de tipo char, pero se que hay que tocar algo mas con la funcion "getc" pero no me sale nada...
Muchas Gracias a todos! Un saludo.
Código [Seleccionar]
int** LeerFichero_Matriz(int &filas, int &colum)
{
char nombrefichero[50]="laber3.txt"; // nombre del fichero de entrada
char dato[20]; // palabra que se lee del fichero
ifstream f; // variable del tipo fichero
int **matriz; // matriz[tr][/tr] de adyacencia del grafo
int i,j;
// cout << "Introduce el nombre del fichero con la matriz de pesos: ";
// cin >> nombrefichero;
f.open(nombrefichero);
if (!f)
{
cout << "Fallo al abrir el fichero " << nombrefichero << endl;
cout << "Verifique la ruta de acceso y el nombre." << endl;
filas = 0;
colum = 0;
return (NULL);
}
f >> filas; // leemos el filas
f >> colum; // leemos el columnas
// reservamos memoria
matriz = new int* [filas+1];
for (i=1;i<=filas;i++)
matriz[i]= new int [colum+1];
// leemos la matriz
for (i=1; i<=filas; i++)
{
for (j=1; j <=colum ; j++)
{
f >> dato;
matriz[i][j] = atoi(dato);
}
}
//imprimimos la matiz
for (i=1; i<=filas; i++)
{
for (j=1; j <=colum ; j++)
{
cout<<matriz[i][j]<<" ";
}
cout<<endl;
}
if (!f)
{
cout << "Fallo en la lectura del fichero " << nombrefichero << endl;
cout << "Verifique el contenido del fichero." << endl;
filas = 0;
return (NULL);
}
return (matriz);
}
y para la funcion anterior la estructura del fichero es asi:
4 5
1 3 4 5 3
1 3 4 5 3
1 3 4 5 3
1 3 4 5 3
donde el primer 4 indica el numero de FILAS y el 5 numero de COLUMNAS, que se recogen en los parámetros de la función.
pero necesito modificar el codigo para que haga lo mismo pero con una matriz de caracteres asi:
8 10
.*....**..
...**....*
.*..*.**.*
....*..*..
.****....*
.**...*..*
.**.***..*
......*...
donde el 8 y el 10 son FILAS y COLUMNAS.
He hecho cambios, como declarar la funcion tipo char**, declarar matriz tipo char, y reservar memoria para una matriz de tipo char, pero se que hay que tocar algo mas con la funcion "getc" pero no me sale nada...
Muchas Gracias a todos! Un saludo.