Allora forse c'è un errore concettuale (C++);
Mi spiegate perchè non va bene?
Devo ordinare gli elementi di un array:
C = [2,11,6,5,9,2,3,4,11,7,5,];
for(int i = 0; i < dim-1; i++)
{
if(c[i] > c[i+1])
{
temp = c[i+1];
c[i+1] = c[i];
c[i] = temp;
}
}
L'output è:
{ 2,6,5,9,2,3,4,11,7,5, }
Perchè? Eppure la variabile d'appoggio dovrebbe funzionare !
Poi ho provato a farlo in un altro modo:
bool swapped;
while(swapped)
{
swapped = false;
for(int i = 0; i < dim-1; i++)
{
if(c[i] > c[i+1])
{
swap(c[i],c[i+1]);
swapped = true;
}
}
}
L'output è:
{ 2,2,3,4,5,5,6,7,9,11, }
Manca il numero 11 non viene ripetuto ripetuto.
Cosa sbaglio? Grazie delle eventuali risposte.