Buenas a todos, estoy haciendo un juego y una clase me da error, y no se a que se debe; la función debería leer de un archivo números de 5 cifras, después almacenarlos en una matriz de 4 columnas por un numero de filas que es el primer numero del archivo.
A ver si me podéis ayudar a arreglar el código.
Gracias a todos por adelantado.
A ver si me podéis ayudar a arreglar el código.
Código [Seleccionar]
#include <iostream>
#include <fstream>
using namespace std;
class matriz
{
public:
int filas;
char cadena[5];
int **m;
void leer(char* s)
{
//abrimos
ifstream fe;
fe.open(s,ios::in);
if(!fe)
{
cout<<"fallo"<<endl;
}
//leemos
//con la primera linea sacamos las filas
fe.getline(cadena,6);
//para pasar la cadena a un int
filas=(cadena[0]-48)*10000+(cadena[1]-48)*1000+(cadena[2]-48)*100+(cadena[3]-48)*10+(cadena[4]-48);
//iniciamos la matriz
m=new int *[filas];
for(int i=0;i<=filas;i++)
{
m[i]=new int[4];
}
//seguimos leyendo
for(int i=0;i<filas;i++)
{
for(int j=0;j<4;j++)
{
fe.getline(cadena,6);
m[i][j]=(cadena[0]-48)*10000+(cadena[1]-48)*1000+(cadena[2]-48)*100+(cadena[3]-48)*10+(cadena[4]-48);
}
}
fe.close();
}
void destruir()
{
for(int i=0;i<=filas;i++)
{
delete [] m[i];
}
delete [] m;
}
};
int main()
{
matriz matriz1;
matriz1.leer("mapa1.txt");
matriz1.destruir();
return 0;
}
Gracias a todos por adelantado.