Questo è il codice corretto:
codice:
#include <stdio.h>
#include <stdlib.h>
void funzione (int *myarray);
int main()
{
int k;
int arr[10]= {2,5,12,65,35,34,69,66,19,147};
funzione (arr);
for (k=0; k<10; k++)
printf ("%d\n", arr[k]);
return 0;
}
void funzione (int *myarray)
{
int i, j, temp, min;
for (i=0; i<9; i++)
{
min=i;
for (j=i+1; j<10; j++)
{
if (myarray[min]> myarray[j])
min = j;
}
temp=myarray[min];
myarray[min] = myarray[i];
myarray[i] = temp;
}
}
Scambiavi l'elemento di posto j, mentre devi scambiare l'elemento di posto i.
PS. Può essere migliorato ma intanto funziona.