1. 程式人生 > >nyoj 29-求轉置矩陣問題 (行,列位置調換)

nyoj 29-求轉置矩陣問題 (行,列位置調換)

panel sta 輸入 clas ons 分析 描述 個數 ret

29-求轉置矩陣問題


內存限制:64MB 時間限制:3000ms Special Judge: No
accepted:8 submit:18

題目描述:

求一個三行三列的轉置矩陣。

輸入描述:

第一行一個整數n<20,表示有n組測試數據,下面是n組數據;
每組測試數據是九個整型數(每個數都不大於10000),分別為矩陣的的每項;

輸出描述:

每組測試數據的轉置矩陣;
請在每組輸出之後加一個換行

樣例輸入:

2
1  2  3  4  5  6  7  8  9
2  3  4  5  6  7  8  9  1

樣例輸出:

1 4 7
2 5 8
3 6 9

2 5 8
3 6 9
4 7 1

提示:

沒有提示哦 分析:   ①、求一個矩陣的轉置矩陣即就是吧該矩陣的行變成另一個矩陣的列   ②、比如如下矩陣為: ==> 轉置矩陣為:
    A11 A12 A13        A11 A21 A31
    A21 A22 A23        A12 A22 A32
    A31 A32 A33        A13 A23 A33
C/C++代碼實現(AC):
 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstring>
 4 #include <cstdio>
 5 #include <cmath>
 6 #include <stack>
 7
#include <map> 8 #include <queue> 9 10 using namespace std; 11 const int MAXN = 4; 12 13 int main() 14 { 15 int t, A[MAXN][MAXN]; 16 scanf("%d", &t); 17 18 while(t --) 19 { 20 for(int i = 0; i <= 2; ++ i) 21 for(int j = 0; j <= 2; ++ j) 22 scanf("%d", &A[i][j]); 23 24 for(int i = 0; i <= 2; ++ i) 25 { 26 for(int j = 0; j < 2; ++ j) 27 printf("%d ", A[j][i]); 28 printf("%d\n", A[2][i]); 29 } 30 printf("\n"); 31 } 32 return 0; 33 }

nyoj 29-求轉置矩陣問題 (行,列位置調換)