Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdbool.h>
- #include <time.h>
- int *AlocVer(int V){ //aloca o vetor de vertices (vetor 1)
- *ver = (int*)malloc(V*sizeof(int*));
- return ver;
- }
- int *AlocAdjacentes(int arestas){ //aloca o vetor de adjacentes (vetor 2)
- *adj = (int*)malloc(arestas*sizeof(int*));
- return adj;
- }
- int *Adj(int arestas, int V, int ver[]){ //preenche o vetor de adjacentes (vetor 2)
- int i=0, a=0, pos=1, prox=0; //'prox' eh o adjacente ao vetor 1,
- while(pos <= V){ //'pos' eh o vertice atual
- for(i=0; i < ver[pos-1]; i++){ //'pos'-1 eh a posicao atual no vetor 1
- while(prox==pos){ //para que nao aconteca loops no grafo o adj gerado (prox)
- prox = srand(time()) % (V+1); //devera ser != vertice atual (pos)
- }
- if(prox==0) //'a' é a posicao do vetor adj
- adj[a]=prox+1; //adiciona 1 pois nao temos o vertice 0
- if(prox==V)
- adj[a]=prox-1; //subtrai 1 pois o ultimo vertice é V
- }
- pos++; //incrementamos para passar para a proxima posicao do vetor 1
- i=0; //eh atribuido 0 para que se possa usar novamente no for
- }
- }
- int *AlocPesos(int arestas){ //aloca o vetor de pesos (vetor 3)
- *pesos = (int*)malloc(arestas*sizeof(int*));
- for(int i=0; i < arestas; i++){
- pesos[i]=(srand(time()) % pesomax);
- }
- return pesos;
- }
- int *Pesos(int pesos[], int arestas, int pesomax){ //preenche o vetor de pesos (vetor 3)
- for(int i=0; i < arestas; i++){
- pesos[i]=(srand(time()) % pesomax);
- }
- return pesos;
- }
- int Arestas(int V, int k){
- int max = (V-k)(V-k+1)/2;
- int min = v-k;
- int arestas = (min + (rand()%max));
- return arestas;
- }
- int main(){
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement