Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. /**********************************************************************/ /**
  2. * @file pr2_costes.cpp
  3. *
  4. * @brief Funciones de busqueda para la Prctica nº2 de EDA-GIM
  5. *
  6. * Incluye 3 funciones tpicas de busqueda sobre vectores:
  7. * 1) BusquedaSecuencialParada
  8. * 2) BusquedaConCentinela
  9. * 3) BusquedaBinaria
  10. *
  11. * @version 1.0
  12. * @author Lluís Bello Alventosa y Raúl Sanz Jodar
  13. * @date 16-10-2019
  14. */ /**********************************************************************/
  15. #include "pr2_funciones_v2.h"
  16. #include <iostream>
  17. #include <fstream>
  18.  
  19. //#define NDEBUG
  20. #include <assert.h>
  21.  
  22. using namespace std;
  23.  
  24. //CABECERA
  25. void Evaluar (unsigned int, unsigned int, unsigned int);
  26.  
  27. int main ()
  28. {
  29. unsigned int tini, tfin, inc;
  30.  
  31. cout << "¿En qué valor quieres que empiece la talla?";
  32. cin >> tini;
  33. cout << "¿En qué valor quieres que termine la talla?";
  34. cin >> tfin;
  35. cout << "¿En qué valor quieres que se incremente la talla?";
  36. cin >> inc;
  37.  
  38. Evaluar(tini, tfin, inc);
  39.  
  40. return 0;
  41. }
  42.  
  43. void Evaluar (unsigned int tini, unsigned int tfin, unsigned int inc)
  44. {
  45.  
  46. ofstream BS, BC, BB;
  47. unsigned int i, j, cBs = 0, cBc = 0, cBb = 0, valrand;
  48. TVector v;
  49.  
  50. srand (time(NULL));
  51.  
  52. BS.open("salida_BS.txt");
  53. BC.open("salida_BC.txt");
  54. BB.open("salida_BB.txt");
  55.  
  56. for(i = tini; i < tfin; i=i+inc)
  57. {
  58. GenerarVectorOrdenado(v,i);
  59. for(j = 0; j < 20*i; j++)
  60. {
  61. valrand = rand()%(2*i-1);
  62. cBs = cBs + BusquedaSecuencialParada(v,i, valrand);
  63. cBc = cBc + BusquedaConCentinela(v,i, valrand);
  64. cBb = cBb + BusquedaBinaria(v,i, valrand);
  65. }
  66.  
  67. if(BS.fail())
  68. cout << "Error al abrir el archivo BS" << endl;
  69. else
  70. BS << i << " " << cBs/(20*i) << endl;
  71.  
  72. if(BC.fail())
  73. cout << "Error al abrir el archivo BC" << endl;
  74. else
  75. BC << i << " " << cBc/(20*i) << endl;
  76.  
  77. if(BB.fail())
  78. cout << "Error al abrir el archivo BB" << endl;
  79. else
  80. BB << i << " " << cBb/(20*i) << endl;
  81. }
  82.  
  83. BS.close();
  84. BC.close();
  85. BB.close();
  86.  
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement