看了很多網山有關矩陣轉置的**,大部分還用了中間變數,本人親測矩陣轉置**無誤,望對廣大c++初學者有所幫助!
題目如下:寫乙個函式,使給定的乙個二維陣列(3x3)轉置,即行列互換。
input
乙個3×3的矩陣
output
轉置後的矩陣(每兩個數字之間均有乙個空格)
sample input
1 2 3
4 5 6
7 8 9
sample output
1 4 7
2 5 8
3 6 9
**如下:
#include
#include
#include
#include
#include
#include
using
namespace
std;
//int a[3][3] = , , };
int a[3][3];
//int temp;
void main()
cout
<< endl;
}for (int i = 0; i < 3; i++)
cout
<< endl;}}
先定義乙個int 型別的3x3的矩陣a,然後用cin輸入,cout輸出,輸入的時候是按照a[i][j]輸入,輸出的時候兩個for迴圈還是位置不變,只要將a[i][j]變成a[j][i]輸出即可,包含這麼多頭檔案是因為習慣性先把可能用到的標頭檔案盡可能都寫進去,同時在輸出的for迴圈內部for迴圈結束時用了乙個cout << endl ,確保最後以矩陣的形式輸出。
執行結果: C 稀疏矩陣轉置
問題描述 稀疏矩陣轉置 設計思路 稀疏矩陣中存在大量非零元素,直接轉置執行時間較高。因而採用三元組表示。按照壓縮的概念,只儲存稀疏矩陣中的非零元素,除了儲存非零元素的值之外,還必須同時記下它所在的行列位置。三元組表示法是用乙個具有三個資料域的一維陣列表示稀疏矩陣,每一行有三個字段,分別該元素的行下表...
稀疏矩陣的轉置(矩陣轉置和快速轉置)
實現矩陣的轉置 1.將矩陣的行列值相互轉換。2.將每個三元組中的i和j交換。3.重排三元組之間的次序便可實現矩陣的轉置。void transposesmatrix tsmatrix m,tsmatrix t return transposesmatrix快速轉置的原理是 如果能預先確定矩陣m中每一列...
稀疏矩陣轉置矩陣
num 矩陣a中某列的非零元素的個數 cpot 初值表示矩陣a中某列第乙個非零元素在b中的位置,並有如下遞推 cpot 1 0 cpot col cpot col 1 num col 1 2 col nu end right.const int maxterm 100 struct sparsema...