これまでのプログラムは、ユーザーが宣言したサイズに基づいて配列を作成します。次に、プログラムはその配列を 500 から 600 までの乱数で埋め、それらの数字のうち 4 つを出力し、新しい行を作成してそれらの出力を続けます。この時点まではすべて正常に動作します。番号を昇順に再印刷すると思われる部分で何かがうまくいかず、番号の一部のみを任意の順序で再印刷しません。これを修正する方法についての助けをいただければ幸いです。
int main(){
int size;
int j, i;
int temp;
int a=0;
double sum = 0;
printf("Enter size of array ");
scanf("%d", &size);
int* array;
array=malloc(size * sizeof(*array));
int *aPtr = array;
srand(time(NULL));
for (i = 0; i < size; i++){
aPtr[i] =(rand() % 101) + 500;
printf("%d ", aPtr[i]);
a++;
if (a == 4){
printf("\n");
a = 0;
}
}
printf("\n\n\nIn ascending order\n");
for (i = 0; i< size; i++){
for (j = 0; j < size; j++){
if(aPtr[i] > aPtr[j]);
temp=aPtr[i];
aPtr[i]=aPtr[j];
aPtr[j]=temp;
}
printf("%d\n", aPtr[i]);
}