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

C Chương trình in tổng các phần tử biên của ma trận

Cho một ma trận, chúng ta cần in các phần tử biên của ma trận và hiển thị tổng của chúng.

Ví dụ

Tham khảo ma trận đưa ra bên dưới -

Ma trận cho trước

1 2 3
4 5 6
7 8 9

Ma trận ranh giới

1 2 3
4   6
7 8 9

Tổng các phần tử biên:1 + 2 + 3 + 4 + 6 + 7 + 8 + 9 =40

Logic để tìm tổng của ma trận ranh giới như sau -

for(i = 0; i<m; i++){
   for(j = 0; j<n; j++){
      if (i == 0 || j == 0 || i == n – 1 || j == n – 1){
         printf("%d ", mat[i][j]);
         sum = sum + mat[i][j];
      }
      else
         printf(" ");
      }
      printf("\n");
}

Chương trình

Sau đây là chương trình C để in tổng các phần tử biên của ma trận -

#include<stdio.h>
#include<limits.h>
int main(){
   int m, n, sum = 0;
   printf("\nEnter the order of the matrix : ");
   scanf("%d %d",&m,&n);
   int i, j;
   int mat[m][n];
   printf("\nInput the matrix elements\n");
   for(i = 0; i<m; i++){
      for(j = 0; j<n; j++)
      scanf("%d",&mat[i][j]);
   }
   printf("\nBoundary Matrix\n");
   for(i = 0; i<m; i++){
      for(j = 0; j<n; j++){
         if (i == 0 || j == 0 || i == n – 1 || j == n – 1){
            printf("%d ", mat[i][j]);
            sum = sum + mat[i][j];
         }
         else
         printf(" ");
      }
      printf("\n");
   }
   printf("\nSum of boundary is %d", sum);
}

Đầu ra

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

Enter the order of the matrix : 3 3
Input the matrix elements :
1 2 3
4 5 6
7 8 9
Boundary Matrix :
1 2 3
4 6
7 8 9
Sum of boundary is 40