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

Làm việc với mảng hai chiều trong thời gian chạy trong lập trình C

Vấn đề

Viết chương trình C để tính tổng và tích của tất cả các phần tử trong mảng hai chiều bằng cách sử dụng biên dịch thời gian chạy.

Giải pháp

  • Biên dịch hoặc khởi tạo thời gian chạy còn được gọi là cấp phát động. Phân bổ bộ nhớ tại thời điểm thực thi (thời gian chạy) được gọi là cấp phát bộ nhớ động.

  • Các hàm calloc () và malloc () hỗ trợ cấp phát bộ nhớ động.

Trong chương trình này, chúng tôi sẽ tính toán tổng của tất cả các phần tử và tích của tất cả các phần tử của mảng hai chiều tại thời điểm chạy.

Logic để tính toán tổng của tất cả các phần tử trong mảng 2D -

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

Logic cho sản phẩm tính toán của tất cả các phần tử trong mảng 2D -

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

Ví dụ

#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

Enter elements into the array A:
A[0][0] :A[0][1] :A[0][2] :
A[1][0] :A[1][1] :A[1][2] :
B[0][0] :B[0][1] :B[0][2] :
B[1][0] :B[1][1] :B[1][2] :
Sum array is :
000
000
Product array is :
000
000