Computer >> Máy Tính >  >> Lập trình >> lập trình C

Giải thích khái niệm xử lý mảng một và hai chiều bằng ngôn ngữ C

Đầu tiên chúng ta hãy hiểu về xử lý mảng một chiều trong ngôn ngữ lập trình C.

Xử lý mảng 1D

Việc lưu trữ các giá trị trong 1 D Array (đọc) được thực hiện như sau -

int num[5]
int i;
for(i=0;i<5;i++){
   Scanf("%d",&num[i]);
}

Việc lấy các giá trị đã lưu trữ từ mảng 1D (ghi) được thực hiện như sau -

int num[5]
int i;
for(i=0;i<5;i++){
   printff("%d",num[i]);
}

Chương trình mẫu

Dưới đây là chương trình C để in các phần tử theo thứ tự ngược lại từ một mảng -

#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]);
   }
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

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

Xử lý mảng 2D

Việc lưu trữ các giá trị trong Mảng 2D (đọc) được thực hiện như sau -

int a[4][3];
int i,j;
for(i=0;i<4;i++){
   for(j=0;j<3;j++){
      scanf("%d",&a[i][j]);
   }
}

Việc lấy các giá trị đã lưu trữ từ mảng 2D (ghi) được thực hiện như sau -

int a[4][3];
int i,j;
for(i=0;i<4;i++){
   for(j=0;j<3;j++){
      printf("%d",a[i][j]);
   }
}

Chương trình mẫu

Sau đây là chương trình C để tính tổng và tích của tất cả các phần tử trong một mảng bằng cách sử dụng biên dịch thời gian chạy -

#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");
   }
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

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