Allora doppione è un intero che non viene inizializzato, il primo uso che se ne fa è all'istruzione:
Il problema è quello...se non lo inizializzi non si sa cosa ci può essere dentro (0, 100 o millemila)

codice:
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;
            }
Se per esempio j = 0 e v2[j] != appoggio[i] tu assegni comunque a v2[j] doppione, che non si sa quanto vale