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