このコードの間違いを見つけることができません。このコードにはエラーはありませんが、正しい結果が得られません。
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a[10], n, i, j, k, value_to_insert, hole_pos;
printf("Enter the total no: of elements in an array");
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (j = 1; j <= n; j++) {
value_to_insert=a[j];
hole_pos=j;
while (j > 0 && value_to_insert < a[hole_pos - 1]) {
a[hole_pos]=a[hole_pos-1];
hole_pos=hole_pos-1;
}
a[hole_pos] = value_to_insert;
}
printf("Sorted Array \n");
for (k = 0; k < n; k++)
printf("%d\n", a[k]);
return 0;
}