เข้าใจการประมวลผลอาร์เรย์ 1 มิติ (1D Array) ในภาษา C ก่อน
1D Array Processing
เก็บค่าใน 1D Array (อ่าน):
int num[5]; int i; for(i=0;i<5;i++){ scanf("%d",&num[i]); }
ดึงค่าจาก 1D Array (เขียน/แสดง):
int num[5]; int i; for(i=0;i<5;i++){ printf("%d",num[i]); }
ตัวอย่างโปรแกรม
โปรแกรม C พิมพ์สมาชิกอาร์เรย์ในลำดับย้อนกลับ:
#include<stdio.h> void main(){ int array[5],i; printf("Enter elements into the array: \n"); for(i=0;i<5;i++){ printf("array[%d] :",i); scanf("%d",&array[i]); } printf("The elements from the array displayed in the reverse order are : \n"); for(i=4;i>=0;i--){ printf("array[%d] :",i); printf("%d\n",array[i]); } }
ผลลัพธ์
Enter elements into the array: array[0] :1 array[1] :2 array[2] :3 array[3] :4 array[4] :5 The elements from the array displayed in the reverse order are: array[4] :5 array[3] :4 array[2] :3 array[1] :2 array[0] :1
2D Array Processing
เก็บค่าใน 2D Array (อ่าน):
int a[4][3]; int i,j; for(i=0;i<4;i++){ for(j=0;j<3;j++){ scanf("%d",&a[i][j]); } }
ดึงค่าจาก 2D Array (เขียน/แสดง):
int a[4][3]; int i,j; for(i=0;i<4;i++){ for(j=0;j<3;j++){ printf("%d",a[i][j]); } }
ตัวอย่างโปรแกรม
โปรแกรม C คำนวณผลรวมและผลคูณของทุกสมาชิกในอาร์เรย์ 2 มิติ:
#include<stdio.h> void main(){ int A[2][3],B[2][3],i,j,sum[2][3],product[2][3]; printf("Enter elements into the array A: \n"); for(i=0;i<2;i++){ for(j=0;j<3;j++){ printf("A[%d][%d] :",i,j); scanf("%d",&A[i][j]); } printf("\n"); } for(i=0;i<2;i++){ for(j=0;j<3;j++){ printf("B[%d][%d] :",i,j); scanf("%d",&B[i][j]); } printf("\n"); } printf("Sum array is : \n"); for(i=0;i<2;i++){ for(j=0;j<3;j++){ sum[i][j]=A[i][j]+B[i][j]; printf("%d\t",sum[i][j]); } printf("\n"); } printf("Product array is : \n"); for(i=0;i<2;i++){ for(j=0;j<3;j++){ product[i][j]=A[i][j]*B[i][j]; printf("%d\t",product[i][j]); } printf("\n"); } }
ผลลัพธ์
Enter elements into the array A: A[0][0] :2 A[0][1] :3 A[0][2] :4 A[1][0] :1 A[1][1] :2 A[1][2] :3 B[0][0] :4 B[0][1] :5 B[0][2] :3 B[1][0] :2 B[1][1] :1 B[1][2] :2 Sum array is: 6 8 7 3 3 5 Product array is: 8 15 12 2 2 6