PDA

Visualizza la versione completa : collegamenti casuali tra vertici in C


sainsbury
27-03-2017, 14:53
Ciao ragazzi. Ho difficoltà con questa parte di codice: è estratta da un programma che sto scrivendo, in cui creo un grafo diretto con V vertici. Dovrei selezionarne ora uno (che manterrò fisso), per collegarlo casualmente ad un altro vertice. Potreste dirmi dove sbaglio? Tra l'altro la matrice delle adiacenze che si crea risulta un vettore :confused:
Vi ringrazio.




printf("\n Please, select a vertex:\n");
scanf("%d",&i);

switch(i)
{
case 1:
if (i<1||i>V)
break;

case 2:
for(j=0;j<V;j++)
if(i!=j)
{
prob=-1.0;
do {
printf("Enter edge probability: ");
scanf("%lf",&prob);
} while(prob<0.0||prob>1.0);


srand((unsigned)time(NULL));

new_edge=0;
for(i=0;i<V;i++){
for(j=0;j<V;j++){
value = rand()/(double)VOL;
if(value<prob && i!=j) {
graph[i][j]=1;
new_edge++;
}

printf("%d",graph[i][j]);
}
}
new_value=new_edge/(double)(V*V);
printf("\n Number of generated edges: %d. Generated edges probability: %f", new_edge, new_value);
}
}


P.s. V è il numero max di vertici, VOL è la dimensione max della matrice graph[VOL][VOL].

Loading