salve, ho un problema con questo programma, che quando eseguito, non visualizza correttamente l'output.
qualcuno può aiutarmi a capire dov'è l'errore?
codice:
#include <stdlib.h>
#include <stdio.h>
//#include <time.h>
void insertion_sort(int *, int);
int main(){
int i, n;
int nr = 10;
int *myArray = malloc(nr*sizeof(int));
printf("\nQuanti elementi vuoi inserire nell'array?\n");
scanf("%d",&n);
myArray=(int *) malloc (n*sizeof(int));
for(i=0;i<n;i++){
printf("\nInserisci il %d elemento dell'array: \n",i+1);
scanf("%d",&myArray[i]);
}
for(i = 0; i < nr; i++)
printf("%d ", myArray[i]);
printf("\n\n");
insertion_sort(myArray, nr);
for(i = 0; i < nr; i++)
printf("%d ", myArray[i]);
getch();
}
void insertion_sort(int *array, int nr){
int i, j, temp;
for(i = 1; i < nr; i++){
temp = (array[i]);
j = i - 1;
while((j >= 0) && (temp < array[j])){
(array[j+1]) = (array[j]);
j--;
}
(array[j+1]) = temp;
}
}
grazie.