Il problema è quello...se non lo inizializzi non si sa cosa ci può essere dentro (0, 100 o millemila)Allora doppione è un intero che non viene inizializzato, il primo uso che se ne fa è all'istruzione:
Se per esempio j = 0 e v2[j] != appoggio[i] tu assegni comunque a v2[j] doppione, che non si sa quanto valecodice:for(j=0;j<taglio;j++) { /*se trovo un doppione*/ if(v2[j] == appoggio[i]) { /*prendo un altro nodo random*/ doppione = RANDOM(15); } v2[i] = doppione; }