#include <stdio.h>
#include<conio.h>
#define SIZE 10
main()
{
int a[SIZE] = {2, 6, 4, 8, 10, 12, 89, 68, 45, 37};
int i, pass, hold;
printf("Data items in original order\n");
for (i = 0; i <= SIZE - 1; i++) printf("%4d", a);
for (pass = 0; pass <= SIZE - 2; pass++)
for (i = 0; i <= SIZE - pass - 2; i++)
if (a > a[i + 1])
{
hold = a;
a = a[i + 1];
a[i + 1] = hold;
}
printf("\nData items in ascending order\n");
for (i = 0; i <= SIZE - 1; i++) printf("%4d", a);
printf("\n");
getch();
return 0;
}
สงสัยตรง loop for (pass = 0; pass <= SIZE - 2; pass++) กับ for (i = 0; i <= SIZE - pass - 2; i++)
ว่าทำไมตรงตัวคุม loop จึงต้องเป็น pass <= SIZE - 2 กับ i <= SIZE - pass - 2 ครับ อธิบายที
ขอบคุณครับ
ช่วยอธิบาย code ภาษา c นี้ให้หน่อยครับ
#include<conio.h>
#define SIZE 10
main()
{
int a[SIZE] = {2, 6, 4, 8, 10, 12, 89, 68, 45, 37};
int i, pass, hold;
printf("Data items in original order\n");
for (i = 0; i <= SIZE - 1; i++) printf("%4d", a);
for (pass = 0; pass <= SIZE - 2; pass++)
for (i = 0; i <= SIZE - pass - 2; i++)
if (a > a[i + 1])
{
hold = a;
a = a[i + 1];
a[i + 1] = hold;
}
printf("\nData items in ascending order\n");
for (i = 0; i <= SIZE - 1; i++) printf("%4d", a);
printf("\n");
getch();
return 0;
}
สงสัยตรง loop for (pass = 0; pass <= SIZE - 2; pass++) กับ for (i = 0; i <= SIZE - pass - 2; i++)
ว่าทำไมตรงตัวคุม loop จึงต้องเป็น pass <= SIZE - 2 กับ i <= SIZE - pass - 2 ครับ อธิบายที
ขอบคุณครับ