Advertisement
x0Henr1Must47d

ggk

Feb 28th, 2021
959
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.70 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdbool.h>
  4. #include <time.h>
  5.  
  6. int *AlocVer(int V){ //aloca o vetor de vertices (vetor 1)
  7.   *ver = (int*)malloc(V*sizeof(int*));
  8.   return ver;
  9. }
  10.  
  11. int *AlocAdjacentes(int arestas){ //aloca o vetor de adjacentes (vetor 2)
  12.   *adj = (int*)malloc(arestas*sizeof(int*));
  13.   return adj;
  14. }
  15.  
  16. int *Adj(int arestas, int V, int ver[]){  //preenche o vetor de adjacentes (vetor 2)
  17.   int i=0, a=0, pos=1, prox=0; //'prox' eh o adjacente ao vetor 1,
  18.   while(pos <= V){  //'pos' eh o vertice atual
  19.     for(i=0; i < ver[pos-1]; i++){  //'pos'-1 eh a posicao atual no vetor 1
  20.       while(prox==pos){ //para que nao aconteca loops no grafo o adj gerado (prox)
  21.         prox = srand(time()) % (V+1); //devera ser != vertice atual (pos)
  22.       }
  23.       if(prox==0)  //'a' é a posicao do vetor adj
  24.         adj[a]=prox+1;  //adiciona 1 pois nao temos o vertice 0    
  25.       if(prox==V)
  26.         adj[a]=prox-1;  //subtrai 1 pois o ultimo vertice é V
  27.     }
  28.     pos++;  //incrementamos para passar para a proxima posicao do vetor 1
  29.     i=0;  //eh atribuido 0 para que se possa usar novamente no for
  30.   }
  31. }
  32.  
  33. int *AlocPesos(int arestas){ //aloca o vetor de pesos (vetor 3)
  34.   *pesos = (int*)malloc(arestas*sizeof(int*));
  35.   for(int i=0; i < arestas; i++){
  36.     pesos[i]=(srand(time()) % pesomax);
  37.   }
  38.   return pesos;
  39. }
  40.  
  41. int *Pesos(int pesos[], int arestas, int pesomax){ //preenche o vetor de pesos (vetor 3)
  42.   for(int i=0; i < arestas; i++){
  43.     pesos[i]=(srand(time()) % pesomax);
  44.   }
  45.   return pesos;
  46. }
  47.  
  48. int Arestas(int V, int k){
  49.   int max = (V-k)(V-k+1)/2;
  50.   int min = v-k;
  51.   int arestas = (min + (rand()%max));
  52.   return arestas;
  53. }
  54.  
  55. int main(){
  56.  
  57.  
  58.  
  59.   return 0;
  60. }
  61.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement