Programming Practice

An´n 的方陣,A 的內位轉置矩陣 (in-place transposition),即是將方陣 A 設定成 AT.

寫一個C語言的程式以執行以下的步驟:

  1. 宣告 A 為 100´100 的二維陣列,

  2. 輸入正整數 n  (小於或等於 100),

  3. 使用副程式 rand() 隨機產生 n´n 矩陣 A 元素的值 (假設A 元素的值在 1 和 100 之間),

  4. 輸出方陣 A

  5. 使用內轉置將方陣 A 設成它自己的轉置矩陣,

  6. 輸出轉置後的方陣 A

將內位矩陣轉置的運算寫成一個副程式 void transpose_in_place(int n, int A[100][100]),再呼叫此副程式。以下為程式執行範例:

Enter matrix size n: 10


Matrix A:
22   6  31  75  58  53  57  61  14  94
38  97  29  89  91  38  13  73   9  46
51  63  48   8  86   2  35  50  79  39
57  96  89  79  12   8  40   2  92   4
80  11  76   9  42  33  65   1  10   8
83  92  39  21  29  46  23  74   6  32
40  33  93  35   9  58   1  21  97  83
21  87  29  44  67  15  45  67  70  11
24  17   6  33  35  46  83  20  99  54
64   3  46  81  13  21  24  43  95  20

Matrix A after in-place transposition:
22  38  51  57  80  83  40  21  24  64
 6  97  63  96  11  92  33  87  17   3
31  29  48  89  76  39  93  29  6   46
75  89   8  79   9  21  35  44  33  81
58  91  86  12  42  29   9  67  35  13
53  38   2   8  33  46  58  15  46  21
57  13  35  40  65  23   1  45  83  24
61  73  50   2   1  74  21  67  20  43
14   9  79  92  10   6  97  70  99  95
94  46  39   4   8  32  83  11  54  20