Advertisement
Guest User

Untitled

a guest
Jul 4th, 2015
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. template < typename V >
  2. GrafoGnr< V >::GrafoGnr(int cntVrt, double prbAdy) {
  3.     this->cntVrt = cntVrt;
  4.     vctrVrt.resize(cntVrt);
  5.    
  6.     unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
  7.     std::default_random_engine generador(seed);
  8.     for (int i = 0; i < cntVrt; i++) {
  9.         vctrVrt[i].lstAdy.resize(cntVrt);
  10.     }
  11.  
  12.     for (int i = 0; i < cntVrt; i++) {  
  13.        
  14.         for (int j = 0; j < cntVrt; j++) {
  15.             std::uniform_int_distribution<int> dst_uniforme(0, 100);
  16.             int xstAdyI = dst_uniforme(generador); // se genera un valor al azar entre 0 y 100.
  17.         double xstAdyD = xstAdyI / 100.0; // se genera un valor al azar entre 0 y 1.
  18.            
  19.             if ( xstAdyD <= prbAdy && i != j && xstAdy(i,j) == false) { // determinamos si "nace" o no la adyacencia
  20.                     vctrVrt[i].lstAdy.push_back(j);
  21.                     vctrVrt[j].lstAdy.push_back(i); // agregamos la adyacencia "espejo"
  22.             }
  23.         }
  24.     }
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement