]> git.llucax.com Git - z.facultad/75.29/susanita.git/commitdiff
Merge del BT con el timer.
authorLeandro Lucarella <luca@llucax.hn.org>
Sun, 6 Nov 2005 21:32:13 +0000 (21:32 +0000)
committerLeandro Lucarella <luca@llucax.hn.org>
Sun, 6 Nov 2005 21:32:13 +0000 (21:32 +0000)
src/Makefile
src/main.cpp

index 056e370a4e888005c24591bdcbeb700fb8e660dc..c38ddd83762906af9f0c001b4fd63bf4c8512209 100644 (file)
@@ -10,29 +10,32 @@ endif
 
 target = tdatp2
 
-objetos = persona.o hashtable.o susanita.o galeshapley.o backtracking.o parser.o main.o
+objetos = persona.o hashtable.o susanita.o galeshapley.o backtracking.o parser.o timer.o main.o
 
 all: $(target)
 
-persona_h = persona.h
+persona_h= persona.h
 persona.o: persona.cpp $(persona_h)
 
-hashtable_h = hashtable.h $(persona_h)
+hashtable_h= hashtable.h $(persona_h)
 hashtable.o: hashtable.cpp $(hashtable_h)
 
-susanita_h = susanita.h $(hashtable_h)
+susanita_h= susanita.h $(hashtable_h)
 susanita.o: susanita.cpp $(susanita_h)
 
-galeshapley_h = galeshapley.h $(susanita_h)
+galeshapley_h= galeshapley.h $(susanita_h)
 galeshapley.o: galeshapley.cpp $(galeshapley_h)
 
-backtracking_h = backtracking.h $(susanita_h)
+backtracking_h= backtracking.h $(susanita_h)
 backtracking.o: backtracking.cpp $(backtracking_h)
 
-parser_h = parser.h $(susanita_h)
+parser_h= parser.h $(susanita_h)
 parser.o: parser.cpp $(parser_h)
 
-main.o: main.cpp $(parser_h) $(galeshapley_h) ${bactraking_h}
+timer_h= timer.h
+timer.o: timer.cpp $(timer_h)
+
+main.o: main.cpp $(timer_h) $(parser_h) $(galeshapley_h) $(bactraking_h)
 
 $(target): $(objetos)
        $(CXX) $(LDFLAGS) $(objetos) $(LOADLIBES) $(LDLIBS) -o $(target)
index 4bb730bcf00a79034f9f42de4c368dd472129ee6..3ca0e02a099072f72db2a6d49c008cfd49e4b258 100644 (file)
@@ -1,60 +1,50 @@
 #include "backtracking.h"
 #include "galeshapley.h"
 #include "parser.h"
+#include "timer.h"
 #include <iostream>
 
 int
 main(int argc, char* argv[])
 {
+       Susanita* susanita = 0;
        switch (argc)
        {
                case 2: //Gale-Sharpley por default
-               {
                        // N * 2 para asegurar que el hash este ocupado al 50% y sea O(1)
-                       GaleShapley gs(Parser::get_n(argv[1]) * 2);
-                       Parser p(gs);
-       
-                       if (!p.input(argv[1]))
-                       {
-                               std::cerr << "Error al abrir el archivo '" << argv[1] << "'\n";
-                               return 2;
-                       }
-                       gs.casamentear();
-                       p.output();
-                       
+                       susanita = new GaleShapley(Parser::get_n(argv[1]) * 2);
                        break;
-               }
                case 3: // BackTracking se especifica con tercer parámetro "-bt"
-               {               
                        if (strcmp(argv[2], "-bt"))
                        {
                                std::cerr << "Uso: " << argv[0] << " archivo_entrada [-bt]\n";
                                return 1;
                        }
-
                        // N * 2 para asegurar que el hash este ocupado al 50% y sea O(1)
-                       BackTracking bt(Parser::get_n(argv[1]) * 2);
-                       Parser p(bt);
-
-                       if (!p.input(argv[1]))
-                       {
-                               std::cerr << "Error al abrir el archivo '" << argv[1] << "'\n";
-                               return 2;
-                       }
-
-                       bt.casamentear();
-                       
+                       susanita = new BackTracking (Parser::get_n(argv[1]) * 2);
                        break;
-               }
-
                default:
                        std::cerr << "Uso: " << argv[0] << " archivo_entrada [-bt]\n";
-                       return 1;
+                       return 2;
+       }
+
+       // N * 2 para asegurar que el hash este ocupado al 50% y sea O(1)
+       Parser p(*susanita);
+
+       if (!p.input(argv[1]))
+       {
+               std::cerr << "Error al abrir el archivo '" << argv[1] << "'\n";
+               delete susanita;
+               return 3;
        }
+       timer t;
+       susanita->casamentear();
+       std::cerr << t << "\n";
+       p.output();
 
        // Todo OK
+       delete susanita;
        return 0;
 
 }
 
-