ก่อนอื่นเรามาทำความเข้าใจการประมวลผลอาร์เรย์หนึ่งมิติในภาษาซีก่อน
การประมวลผลอาร์เรย์ 1D
การจัดเก็บค่าใน 1 D Array(การอ่าน) ทำได้ดังนี้ −
int num[5] int i; for(i=0;i<5;i++){ Scanf("%d",&num[i]); }
การดึงค่าที่เก็บไว้จากอาร์เรย์ 1D (การเขียน) ทำได้ดังนี้ -
int num[5] int i; for(i=0;i<5;i++){ printff("%d",num[i]); }
ตัวอย่างโปรแกรม
รับด้านล่างเป็นโปรแกรม C เพื่อพิมพ์องค์ประกอบในลำดับย้อนกลับจากอาร์เรย์ -
#include<stdio.h> void main(){ //Declaring the array - run time// int array[5],i; //Reading elements into the array// printf("Enter elements into the array: \n"); //For loop// for(i=0;i<5;i++){ //Reading User I/p// printf("array[%d] :",i); scanf("%d",&array[i]); } //Displaying reverse order of elements in the array// printf("The elements from the array displayed in the reverse order are : \n"); for(i=4;i>=0;i--){ //Displaying O/p// 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
การประมวลผลอาร์เรย์ 2 มิติ
การจัดเก็บค่าใน 2D Array(reading) ทำได้ดังนี้ −
int a[4][3]; int i,j; for(i=0;i<4;i++){ for(j=0;j<3;j++){ scanf("%d",&a[i][j]); } }
การดึงค่าที่เก็บไว้จากอาร์เรย์ 2 มิติ (การเขียน) ทำได้ดังนี้ -
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 เพื่อคำนวณผลรวมและผลิตภัณฑ์ขององค์ประกอบทั้งหมดในอาร์เรย์โดยใช้การรวบรวมรันไทม์ -
#include<stdio.h> void main(){ //Declaring the array - run time// int A[2][3],B[2][3],i,j,sum[i][j],product[i][j]; //Reading elements into the array's A and B using for loop// 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"); } //Calculating sum and printing output// 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"); } //Calculating product and printing output// 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