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.