Código
Están fuera de la función main.
} fi.close();
Ademas:
* Si no utilizas los argumentos pasados mediante la linea de comandos eliminalos, deja la definición de la función como "int main() ...".
* Si la declaración de los arrays m1 y m2 funciona depende del compilador utilizado, no es parte del estándar de C++ (para el caso utilizar objetos de la clase vector).
* Ya que todo lo que lees del archivo son valores de tipo int no es necesario leer por linea con getline, en su lugar utiliza directamente el operador ">>".
* Para leer la primera matriz utilizas tres bucles cuando solo necesitas dos.
Para leer mediante un objeto de la clase vector la primera matriz el código fuente seria mas o menos así:
Código
#include <iostream> #include <fstream> #include <vector> using namespace::std; int main() { ifstream fi("bur26a.csv"); if (fi.good()){ int num_elem; fi >> num_elem; vector< vector<int> > mat(num_elem, vector<int>(num_elem)); for (int i = 0; i != num_elem; ++i) for (int j = 0; j != num_elem; ++j) fi >> mat[i][j]; fi.close(); for (int i = 0; i != num_elem; ++i){ for (int j = 0; j != num_elem; ++j) cout << ' ' << mat[i][j]; cout << endl; } } return 0; }
Para leer la segunda matriz el proceso es similar.
Un saludo