He estado mirando tu programa e informandome y al final voy a hacer que la lectura de la matriz se mediante un archivo de texto, de esta forma cualquiera podra hacerlo directamente con algun editor de texto y usando numeros, tabulaciones y saltos de linea.
Te pongo el codigo por si le quieres hechar un vistazo y comentar algo, no hace mucho que trabajo con c++ y seguro que es muy mejorable
#include <iostream>
using namespace std;
int main (){
int **matriz,filas,columnas;
FILE *fichero;
cout<< "Introduce el numero de filas que va a tener la matriz"<< endl;
cin>>filas;
cout<< "Introduce el numero de columnas que va a tener la matriz" << endl;
cin>>columnas;
//Aqui voy a crear la matriz mediante punteros
matriz = new int* [filas];
for(int i=0;i<filas;i++)
matriz[i] = new int [columnas];
//Especifico el archivo que se va a leer, en caso de que no exista o no lo encuentre dará un mensaje de error
fichero = fopen("matriz.txt", "r" );
if (fichero==NULL)
{
printf("Error al abrir el archivo \n");
exit (1);
}
//Leo cada una de las posiciones de mi lista que tengo en el archivo y la voy colocando en su respectivo lugar dentro de la matriz
for(int i=0;i<filas;i++){
for(int j=0;j<columnas;j++){
fscanf( fichero, "%d\t", &matriz[i][j] );
}
}
cout<<"Asi queda la matriz"<<endl;
//Impresion por pantalla
for (int i=0;i<filas;i++){
for (int j=0;j<columnas;j++){
cout<< matriz[i][j]<<" ";
}
cout<<endl;
}
}
Se que debería utilizar alguna funcion como por ejemplo malloc para ir reservando memoria cuando lleno la matriz, creo que deberia ser algo del tipo:
while (i!=columnas){
matriz[i]= (int *)malloc(filas * size(int));
i=i+1;
}
Pero no se si deberia ser así la expresion y en que lugar exacto del codigo ponerlo.
Otra deficiencia que le veo es que necesito entrar por teclado el tamaño de la matriz en vez de averiguarlo al leer matriz.txt, pero creo que eso ya va a ser mas complicado
Gracias Nivel7!