給定矩陣的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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

給出以下是一個將羅馬數字轉換為十進制數字的C語言演算法:演算法步驟1-開始步驟2-在運行時讀取羅馬數字步驟3-長度:=strlen(roman)步驟4-對於i=0到長度-1 步驟4.1-switch(roman[i]) 步驟4.1.1-case'm': &nbs

在本系列的第一篇文章中,我們討論了人工智慧、機器學習、深度學習、資料科學等領域的關聯和差異。我們也為整個系列將使用的程式語言、工具等做出了一些艱難的選擇。最後,我們也介紹了一點矩陣的知識。在本文中,我們將深入討論人工智慧的核心——矩陣。不過在此之前,我們先來了解一下人工智慧的歷史我們為什麼需要了解人工智慧的歷史呢?歷史上曾出現過多次人工智慧熱潮,但在許多情況下,對人工智慧潛力的巨大期望都未能達成。了解人工智慧的歷史,有助於讓我們看清這次人工智浪潮是會創造奇蹟,抑或只是另一個即將破滅的泡沫。我們

連結列表使用動態記憶體分配,即它們相應地增長和收縮。它們被定義為節點的集合。這裡,節點有兩個部分,即資料和鏈路。資料、連結和鍊錶的表示如下-鍊錶的類型鍊錶有四種類型,如下:-單鍊錶/單鍊錶雙/雙向鍊錶循環單鍊錶循環雙鍊錶我們使用遞歸方法求鍊錶長度的邏輯是-intlength(node *temp){ if(temp==NULL) returnl; else{&n

雙曲函數是使用雙曲線而不是圓定義的,與普通三角函數相當。它從提供的弧度角傳回雙曲正弦函數中的比率參數。但要做相反的事,或者換句話說。如果我們想要根據雙曲正弦值計算角度,我們需要像雙曲反正弦運算一樣的反雙曲三角運算。本課程將示範如何使用C++中的雙曲反正弦(asinh)函數,並使用雙曲正弦值(以弧度為單位)計算角度。雙曲反正弦運算遵循下列公式-$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})},其中\:In\:是\:自然對數\:(log_e\:k)

rename函數將檔案或目錄從舊名稱變更為新名稱。此操作類似於移動操作。因此,我們也可以使用此rename函數來移動檔案。此函數存在於stdio.h庫頭檔中。 rename函數的語法如下:intrename(constchar*oldname,constchar*newname);rename()函數的函數它接受兩個參數。一個是oldname,一個是newname。這兩個參數都是指向常數字元的指針,用於定義檔案的舊名稱和新名稱。如果檔案重新命名成功,則傳回零;否則,傳回非零整數。在重新命名操作期間

映射是C++中的一種特殊類型的容器,其中每個元素都是一對兩個值,即鍵值和映射值。鍵值用於索引每個項目,映射值是與鍵關聯的值。無論映射值是否唯一,鍵始終是唯一的。要在C++中列印映射元素,我們必須使用迭代器。一組項目中的一個元素由迭代器物件指示。迭代器主要與陣列和其他類型的容器(例如向量)一起使用,並且它們具有一組特定的操作,可用於識別特定範圍內的特定元素。可以增加或減少迭代器來引用範圍或容器中存在的不同元素。迭代器指向範圍內特定元素的記憶體位置。使用迭代器在C++中列印地圖首先,我們先來看看如何定義

現代科學在很大程度上依賴複數的概念,而這個概念最初是透過GirolamoCardano在16世紀引入的17世紀初建立。複數的公式是a+ib,其中a保留html代碼且b是實數。一個複數被認為有兩個部分:實部<a>和虛部(<ib>)。 i或iota的值為√-1。 C++中的複數類別是用來表示複數的類別。 C++中的complex類別可以表示並控制幾個複數操作。我們來看看如何表示和控制顯示複數。 imag()成員函數如前所述,複數由實部和虛部兩部分組成。顯示實部我們使用real()

在解決一些邏輯程式設計問題時,使用字串或字元有時非常有用。字串是字元的集合,字元是1位元組資料類型,用於保存ASCII值中的符號。符號可以是英文字母、數字或特殊字元。在本文中,我們將學習如何使用C++檢查一個字元是否是英文字母或字母表中的字母。檢查isalpha()函數要檢查數字是否為字母,我們可以使用ctype.h頭檔中的isalpha()函數。這將一個字元作為輸入,如果是字母表,則傳回true,否則傳回false。讓我們看看下面的C++實作來了解這個函數的用法。例子的中文翻譯為:示
