首頁  >  文章  >  後端開發  >  給定矩陣的C程式以交換對角線元素

給定矩陣的C程式以交換對角線元素

王林
王林轉載
2023-08-25 18:02:031483瀏覽

給定矩陣的C程式以交換對角線元素

問題

我們需要寫程式碼來交換主對角線元素與次對角線元素。矩陣的大小在運行時給出。

如果矩陣 m 和 n 值的大小不相等,則列印給定的矩陣不是正方形。

僅方陣可以互換主對角線元素,也可以與次對角線元素互換。

解決方案

編寫一個C 程式來互換給定矩陣中的對角線元素的解決方案如下如下-

交換對角線元素的邏輯解釋如下-

for (i=0;i<m;++i){
   a = ma[i][i];
   ma[i][i] = ma[i][m-i-1];
   ma[i][m-i-1] = a;
}

範例

以下是用於交換給定矩陣中對角線元素的C 程式-

 即時示範

#include<stdio.h>
main (){
   int i,j,m,n,a;
   static int ma[10][10];
   printf ("Enter the order of the matrix m and n</p><p>");
   scanf ("%dx%d",&m,&n);
   if (m==n){
      printf ("Enter the co-efficients of the matrix</p><p>");
      for (i=0;i<m;++i){
         for (j=0;j<n;++j){
            scanf ("%d",&ma[i][j]);
         }
      }
      printf ("The given matrix is </p><p>");
      for (i=0;i<m;++i){
         for (j=0;j<n;++j){
            printf (" %d",ma[i][j]);
         }
         printf ("</p><p>");
      }
      for (i=0;i<m;++i){
         a = ma[i][i];
         ma[i][i] = ma[i][m-i-1];
         ma[i][m-i-1] = a;
      }
      printf ("Matrix after changing the </p><p>");
      printf ("Main & secondary diagonal</p><p>");
      for (i=0;i<m;++i){
         for (j=0;j<n;++j){
            printf (" %d",ma[i][j]);
         }
         printf ("</p><p>");
      }
   }
   else
      printf ("The given order is not square matrix</p><p>");
}

輸出

當上述程式執行時,會產生下列結果-

Run 1:
Enter the order of the matrix m and n
3x3
Enter the co-efficient of the matrix
1
2
3
4
5
6
7
8
9
The given matrix is
1 2 3
4 5 6
7 8 9
Matrix after changing the
Main & secondary diagonal
3 2 1
4 5 6
9 8 7

Run 2:
Enter the order of the matrix m and n
4x3
The given order is not square matrix

以上是給定矩陣的C程式以交換對角線元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除