Quote:
Originariamente inviata da link19
Mi sono semplicemente dimenticato di metterlo
|
se vuoi risolvere questo problema ti consiglio di corregere la funzione selectSort facendo in modo di reinizializzare pos=i; ogni volta che fai lo swap;
codice:
if (pos!=i)
{
int app=v[pos];
v[pos]=v[i];
v[i]=app;
pos=i;
}
Se non reinizializzi pos ad i ogni volta che scambi il test (pos!=i) avrà sempre successo e scambierai sempre le due stesse caselle fino alla fine di ogni iterazione. Se gli swap che erroneamente fai in più sono pari non te ne accorgi neanche ma quando sono dispari te ne accorgi e infatti col 33 eil 44 te ne sei accorto.