From 8781d7ad2bbbeb4577a9bd0e17b76617c1d25ae5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gonzalo=20Men=C3=A9ndez?= <gonchimenendez@gmail.com> Date: Tue, 27 Nov 2018 00:16:52 -0300 Subject: [PATCH] leer archivos en teoria --- .../rep/GA/generador Nonogram Gonzalo.py | 2 + .../AlgoritmoGenetico/malva/rep/GA/newGA.hh | 8 +-- .../malva/rep/GA/newGA.req.cc | 58 ++++++++++++++++++- 3 files changed, 63 insertions(+), 5 deletions(-) diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/generador Nonogram Gonzalo.py b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/generador Nonogram Gonzalo.py index 7e62843..9624cac 100644 --- a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/generador Nonogram Gonzalo.py +++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/generador Nonogram Gonzalo.py @@ -77,12 +77,14 @@ try: #archivo de salida de columnas archivo = open ("datos_columnas", "w") + archivo.write("%d\n"%width) for i in range(0, width): for j in range(0, len(datosColumnas[i])): archivo.write("%d "%datosColumnas[i][j]) archivo.write("\n") archivo = open ("datos_filas", "w") + archivo.write("%d\n"%height) for i in range(0, height): for j in range(0, len(datosFilas[i])): archivo.write("%d "%datosFilas[i][j]) diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.hh b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.hh index 4d2423e..c3aa06d 100644 --- a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.hh +++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.hh @@ -78,10 +78,10 @@ skeleton newGA private: int _cantFilas; int _cantColumnas; - int** _datosColumnas; - int** _datosFilas; - int* _cantGruposColumna; - int* _cantGruposFila; + vector<vector<int>> _datosColumnas; + vector<vector<int>> _datosFilas; + vector<int> _cantGruposColumna; + vector<int> _cantGruposFila; }; //Solution ---------------------------------------------------------------------------- diff --git a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc index 940a60f..97a1688 100644 --- a/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc +++ b/ProyectoFinal/AlgoritmoGenetico/malva/rep/GA/newGA.req.cc @@ -29,7 +29,21 @@ skeleton newGA return os; } + void split(const std::string &s, char delim, Out result) + { + std::stringstream ss(s); + std::string item; + while (std::getline(ss, item, delim)) { + *(result++) = item; + } + } + std::vector<std::string> split(const std::string &s, char delim) + { + std::vector<std::string> elems; + split(s, delim, std::back_inserter(elems)); + return elems; + } istream& operator>> (istream& is, Problem& pbm) { @@ -40,6 +54,47 @@ skeleton newGA //is.getline(buffer,MAX_BUFFER,'\n'); //sscanf(buffer,"%d",&pbm._dimension); + //CARGAR DATOS COLUMNAS + ifstream inFile; + inFile.open("datos_columnas"); + if (!inFile) + { + cerr << "Unable to open file datafile.txt"; + exit(1); // call system to stop + } + string x; + getline(inFile, x); + pbm._cantColumnas = stoi(x); + for(int cCol = 0; cCol < pbm._cantColumnas; cCol++) + { + getline(inFile, x); + std::vector<std::string> divided = split(x, " "); + pbm._datosColumnas.push_back(divided); + pbm._cantGruposColumna.push_back(divided.size()); + } + inFile.close(); + + //CARGAR DATOS FILAS + ifstream inFile; + inFile.open("datos_filas"); + if (!inFile) + { + cerr << "Unable to open file datafile.txt"; + exit(1); // call system to stop + } + string x; + getline(inFile, x); + pbm._cantFilas = stoi(x); + for(int cFi = 0; cFi < pbm._cantFilas; cFi++) + { + getline(inFile, x); + std::vector<std::string> divided = split(x, " "); + pbm._datosFilas.push_back(divided); + pbm._cantGruposFila.push_back(divided.size()); + } + inFile.close(); + /* + /* //CARGAR DATO CANT Tareas ifstream inFile; inFile.open("datos_cantidad_tareas"); @@ -130,7 +185,7 @@ skeleton newGA cout << pbm._tareasIndex[i] << " "; } exit(0); - */ + //INICIALIZAR EMPLEADOS pbm._empleados=new Empleado [pbm._cantEmpleados]; @@ -239,6 +294,7 @@ skeleton newGA free(tmp); } */ + cout<<pbm; return is; } -- GitLab