Index: Makefile
===================================================================
--- Makefile	(revision f473a7f0c79ef84df9ed8983f69776ba5c2cf715)
+++ Makefile	(revision 4c7126291abf4e7bc03c0965bc9b3aaba8ebe5b1)
@@ -1,5 +1,5 @@
 #############################################################################
 # Makefile for building: SMSAM
-# Generated by qmake (2.01a) (Qt 4.8.6) on: vie abr 29 10:32:55 2016
+# Generated by qmake (2.01a) (Qt 4.8.6) on: Mon Aug 1 14:33:36 2016
 # Project:  SMSAM.pro
 # Template: app
@@ -62,5 +62,6 @@
 		formpreciosnohomogeneos.cpp \
 		stackpreciosnohomogeneos.cpp \
-		variablepnh.cpp moc_mainwindow.cpp \
+		variablepnh.cpp \
+		genericFunctions.cpp moc_mainwindow.cpp \
 		moc_formloadmatrix.cpp \
 		moc_formviewmatrix.cpp \
@@ -100,4 +101,5 @@
 		stackpreciosnohomogeneos.o \
 		variablepnh.o \
+		genericFunctions.o \
 		moc_mainwindow.o \
 		moc_formloadmatrix.o \
@@ -239,5 +241,5 @@
 dist: 
 	@$(CHK_DIR_EXISTS) .tmp/SMSAM1.0.0 || $(MKDIR) .tmp/SMSAM1.0.0 
-	$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/SMSAM1.0.0/ && $(COPY_FILE) --parents mainwindow.H formloadmatrix.H formviewmatrix.H stackwidget.H accountwidget.H formvariablesexogenas.h stackvariablesexogenas.h variableexogenawidget.h formexportmatrix.h formencadenamientos.h stackencadenamientos.h encadenamientoswidget.h formcompararresultados.h formcompararmnc.h formincidenciai.h formpreciosnohomogeneos.h stackpreciosnohomogeneos.h variablepnh.h .tmp/SMSAM1.0.0/ && $(COPY_FILE) --parents img/images.qrc .tmp/SMSAM1.0.0/ && $(COPY_FILE) --parents mainwindow.C main.C formloadmatrix.C formviewmatrix.C stackwidget.C accountwidget.C formvariablesexogenas.cpp stackvariablesexogenas.cpp variableexogenawidget.cpp formexportmatrix.cpp formencadenamientos.cpp stackencadenamientos.cpp encadenamientoswidget.cpp formcompararresultados.cpp formcompararmnc.cpp formincidenciai.cpp formpreciosnohomogeneos.cpp stackpreciosnohomogeneos.cpp variablepnh.cpp .tmp/SMSAM1.0.0/ && $(COPY_FILE) --parents formLoadMatrix.ui formMatrixView.ui formvariablesexogenas.ui formexportmatrix.ui formencadenamientos.ui formcompararresultados.ui formcompararmnc.ui formincidenciai.ui formpreciosnohomogeneos.ui .tmp/SMSAM1.0.0/ && (cd `dirname .tmp/SMSAM1.0.0` && $(TAR) SMSAM1.0.0.tar SMSAM1.0.0 && $(COMPRESS) SMSAM1.0.0.tar) && $(MOVE) `dirname .tmp/SMSAM1.0.0`/SMSAM1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/SMSAM1.0.0
+	$(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/SMSAM1.0.0/ && $(COPY_FILE) --parents mainwindow.H formloadmatrix.H formviewmatrix.H stackwidget.H accountwidget.H formvariablesexogenas.h stackvariablesexogenas.h variableexogenawidget.h formexportmatrix.h formencadenamientos.h stackencadenamientos.h encadenamientoswidget.h formcompararresultados.h formcompararmnc.h formincidenciai.h formpreciosnohomogeneos.h stackpreciosnohomogeneos.h variablepnh.h genericFunctions.h .tmp/SMSAM1.0.0/ && $(COPY_FILE) --parents img/images.qrc .tmp/SMSAM1.0.0/ && $(COPY_FILE) --parents mainwindow.C main.C formloadmatrix.C formviewmatrix.C stackwidget.C accountwidget.C formvariablesexogenas.cpp stackvariablesexogenas.cpp variableexogenawidget.cpp formexportmatrix.cpp formencadenamientos.cpp stackencadenamientos.cpp encadenamientoswidget.cpp formcompararresultados.cpp formcompararmnc.cpp formincidenciai.cpp formpreciosnohomogeneos.cpp stackpreciosnohomogeneos.cpp variablepnh.cpp genericFunctions.cpp .tmp/SMSAM1.0.0/ && $(COPY_FILE) --parents formLoadMatrix.ui formMatrixView.ui formvariablesexogenas.ui formexportmatrix.ui formencadenamientos.ui formcompararresultados.ui formcompararmnc.ui formincidenciai.ui formpreciosnohomogeneos.ui .tmp/SMSAM1.0.0/ && (cd `dirname .tmp/SMSAM1.0.0` && $(TAR) SMSAM1.0.0.tar SMSAM1.0.0 && $(COMPRESS) SMSAM1.0.0.tar) && $(MOVE) `dirname .tmp/SMSAM1.0.0`/SMSAM1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/SMSAM1.0.0
 
 
@@ -277,4 +279,5 @@
 		formincidenciai.h \
 		formpreciosnohomogeneos.h \
+		genericFunctions.h \
 		stackwidget.H \
 		accountwidget.H \
@@ -418,4 +421,5 @@
 		formincidenciai.h \
 		formpreciosnohomogeneos.h \
+		genericFunctions.h \
 		stackwidget.H \
 		accountwidget.H \
@@ -443,4 +447,5 @@
 		formincidenciai.h \
 		formpreciosnohomogeneos.h \
+		genericFunctions.h \
 		stackwidget.H \
 		accountwidget.H \
@@ -517,4 +522,7 @@
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o variablepnh.o variablepnh.cpp
 
+genericFunctions.o: genericFunctions.cpp genericFunctions.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o genericFunctions.o genericFunctions.cpp
+
 moc_mainwindow.o: moc_mainwindow.cpp 
 	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mainwindow.o moc_mainwindow.cpp
Index: SMSAM.pro
===================================================================
--- SMSAM.pro	(revision 68e57decffc32f88a985e8491e0e28dce5a22a5c)
+++ SMSAM.pro	(revision 4c7126291abf4e7bc03c0965bc9b3aaba8ebe5b1)
@@ -16,5 +16,6 @@
     formpreciosnohomogeneos.h \
     stackpreciosnohomogeneos.h \
-    variablepnh.h
+    variablepnh.h \
+    genericFunctions.h
 
 SOURCES += mainwindow.C \
@@ -36,5 +37,6 @@
     formpreciosnohomogeneos.cpp \
     stackpreciosnohomogeneos.cpp \
-    variablepnh.cpp
+    variablepnh.cpp \
+    genericFunctions.cpp
 FORMS += formLoadMatrix.ui \
     formMatrixView.ui \
Index: genericFunctions.cpp
===================================================================
--- genericFunctions.cpp	(revision 4c7126291abf4e7bc03c0965bc9b3aaba8ebe5b1)
+++ genericFunctions.cpp	(revision 4c7126291abf4e7bc03c0965bc9b3aaba8ebe5b1)
@@ -0,0 +1,39 @@
+/*
+    Creado bajo la Licencia GPL v.2.0 de la Free Software Foundation.
+    Autor: Rodrigo Boet
+    Fecha: 01/08/2016
+*/
+
+#include <genericFunctions.h>
+
+/*
+    Función que permite obtener los elementos distintos en una lista
+    Autor: Rodrigo Boet
+    Fecha: 01/08/2016
+*/
+int diferent_elements(QStringList my_list)
+{
+    QStringList elements;
+    foreach (QString item, my_list) {
+        if(!elements.contains(item))
+        {
+            elements.append(item);
+        }
+    }
+    return elements.count();
+}
+
+/*
+    Función que permite agregar un mensaje en el label cuando se selecciona la opción de componentes
+    Autor: Rodrigo Boet
+    Fecha: 29/07/2016
+*/
+QStringList get_list(QTableWidget *tw, int row, int init, int end)
+{
+    QStringList elements;
+    for(int i=init;i<end;i++)
+    {
+        elements.append(tw->item(row,i)->text());
+    }
+    return elements;
+}
Index: genericFunctions.h
===================================================================
--- genericFunctions.h	(revision 4c7126291abf4e7bc03c0965bc9b3aaba8ebe5b1)
+++ genericFunctions.h	(revision 4c7126291abf4e7bc03c0965bc9b3aaba8ebe5b1)
@@ -0,0 +1,9 @@
+#ifndef GENERICFUNCTIONS_H
+#define GENERICFUNCTIONS_H
+
+#include <QtGui>
+
+QStringList get_list(QTableWidget *tw, int row, int init, int end);
+int diferent_elements(QStringList my_list);
+
+#endif // GENERICFUNCTIONS_H
Index: mainwindow.C
===================================================================
--- mainwindow.C	(revision 50550b020332a1798674c7911c1027dc24d20ea2)
+++ mainwindow.C	(revision 4c7126291abf4e7bc03c0965bc9b3aaba8ebe5b1)
@@ -484,4 +484,9 @@
     //layoutCentralWidget->addStretch();
 
+    if(formLoadMatrix->ui.radioAccount->isChecked()){
+        QStringList accounts = get_list(tableWidget,0,2,tableWidget->columnCount());
+        numAccounts = diferent_elements(accounts);
+    }
+
     QVBoxLayout * layoutAccounts = new QVBoxLayout;
 
@@ -709,9 +714,5 @@
 {
     int column = tw->rowCount();
-    QStringList numberAccounts;
-    for(int i = 2;i<column;i++)
-    {
-        numberAccounts.append(tw->item(0,i)->text());
-    }
+    QStringList numberAccounts = get_list(tw,0,2,column);
     QVector<QString> vector;
     int init = 3;
@@ -729,5 +730,4 @@
         }
     }
-    qDebug()<<vector;
     //Se cargan los datos en la cuenta
     for(int i=0;i<numAccounts;i++)
@@ -750,5 +750,5 @@
 
     //Se ocultan el StackedWidget con los datos de la cuenta
-    //hideStackedWidget();
+    hideStackedWidget();
 
     /*       Luego de calcular los totales se habilitan las opciones del menu herramientas       */
@@ -1383,5 +1383,4 @@
             }
        }
-
     }
 }
@@ -2139,5 +2138,5 @@
     widget->setLayout(layoutCentralWidget);//Se añade el widget y layout a la pestaña creada
     spanEndogenaCell(tablaAn,2,0,false);//Se juntan los espacios de las cuentas
-    tabWidget->removeTab(indice);
+    //tabWidget->removeTab(indice);
 }
 
@@ -2797,14 +2796,15 @@
         {
             QTableWidget *tw;
+            QTableWidget *enTable = new QTableWidget;
             if(opcion==0)
             {
                  tw= findChild<QTableWidget *>("MatrizAn");
+                 crearMatrizEncadenamientoEndogena(tw,enTable,An);
             }
             else
             {
                 tw = findChild<QTableWidget *>("MatrizMa");
-            }
-            QTableWidget *enTable = new QTableWidget;
-            crearMatrizEncadenamientoEndogena(tw,enTable);//Se llama a la funcion que realiza todo el procedimiento
+                crearMatrizEncadenamientoEndogena(tw,enTable,MatrixMa);
+            }
             tabWidget->addTab(new QWidget,QString("Encadenamiento %1").arg(cantidadEncadenamientos));
             int indice=ObtenerIndice(QString("Encadenamiento %1").arg(cantidadEncadenamientos));//Se obtiene el indice de la pestaña
@@ -2870,6 +2870,6 @@
                                 else
                                 {
-                                    EncadenamientoAtras = tw->item(k,j)->text().toDouble();//Suma Columna(Encadenamiento hacia atras)
-                                    EncadenamientoAdelante = tw->item(j,k)->text().toDouble();//Suma Fila(Encadenamiento hacia adelante)
+                                    EncadenamientoAtras = An(k-2,j-2);//Suma Columna(Encadenamiento hacia atras)
+                                    EncadenamientoAdelante = An(k-2,j-2);//Suma Fila(Encadenamiento hacia adelante)
                                 }
                                 sumaColumna+=EncadenamientoAtras;
@@ -2969,5 +2969,5 @@
 
 /*          Funcion para crear  los encadenamientos de toda la matrix endógena-endógena     */
-void MainWindow::crearMatrizEncadenamientoEndogena(QTableWidget *tw,QTableWidget *enTable)
+void MainWindow::crearMatrizEncadenamientoEndogena(QTableWidget *tw,QTableWidget *enTable, Eigen::MatrixXd Matrix)
 {
     int countEndogena = tw->rowCount();
@@ -2980,7 +2980,7 @@
         for(int j=2;j<countEndogena;j++)
         {
-            double EncadenamientoAtras = tw->item(j,i)->text().toDouble();//Suma Columna(Encadenamiento hacia atras)
+            double EncadenamientoAtras = Matrix(j-2,i-2);
             sumaColumna+=EncadenamientoAtras;
-            double EncadenamientoAdelante = tw->item(i,j)->text().toDouble();//Suma Fila(Encadenamiento hacia adelante)
+            double EncadenamientoAdelante = Matrix(i-2,j-2);
             sumaFila+=EncadenamientoAdelante;
         }
Index: mainwindow.H
===================================================================
--- mainwindow.H	(revision 50550b020332a1798674c7911c1027dc24d20ea2)
+++ mainwindow.H	(revision 4c7126291abf4e7bc03c0965bc9b3aaba8ebe5b1)
@@ -16,4 +16,5 @@
 #include <formincidenciai.h>
 #include <formpreciosnohomogeneos.h>
+#include <genericFunctions.h>
 
 #include <sstream>
@@ -218,5 +219,5 @@
     void crearTablaVaciaEncadenamiento(int filas, QTableWidget *, int columnas=4);
     void crearMatrizEncadenamiento(QTableWidget *, QTableWidget *);
-    void crearMatrizEncadenamientoEndogena(QTableWidget *, QTableWidget *);
+    void crearMatrizEncadenamientoEndogena(QTableWidget *, QTableWidget *, Eigen::MatrixXd Matrix);
     void calcularTotalesEncadenamientos(QTableWidget *);
     void encademientosStyle(QTableWidgetItem *);
