From: Leandro Lucarella Date: Sun, 6 Nov 2005 21:32:13 +0000 (+0000) Subject: Merge del BT con el timer. X-Git-Tag: darcs_import~34 X-Git-Url: https://git.llucax.com/z.facultad/75.29/susanita.git/commitdiff_plain/dc520fd7ae38100afa95ee803755495f277c6473?ds=inline Merge del BT con el timer. --- diff --git a/src/Makefile b/src/Makefile index 056e370..c38ddd8 100644 --- a/src/Makefile +++ b/src/Makefile @@ -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) diff --git a/src/main.cpp b/src/main.cpp index 4bb730b..3ca0e02 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,60 +1,50 @@ #include "backtracking.h" #include "galeshapley.h" #include "parser.h" +#include "timer.h" #include 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; } -