要實現矩陣的轉置,可以使用二維數組來表示矩陣。以下是一個示例代碼:
#include <stdio.h>
#define ROW 3
#define COL 3
void transpose(int matrix[ROW][COL], int result[COL][ROW]) {
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
result[j][i] = matrix[i][j];
}
}
}
int main() {
int matrix[ROW][COL] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
int result[COL][ROW];
transpose(matrix, result);
printf("Original Matrix:\n");
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
printf("\nTransposed Matrix:\n");
for (int i = 0; i < COL; i++) {
for (int j = 0; j < ROW; j++) {
printf("%d ", result[i][j]);
}
printf("\n");
}
return 0;
}
在上面的示例代碼中,我們定義了一個函數transpose
來實現矩陣的轉置。該函數接受兩個參數,分別是原始矩陣和轉置結果矩陣。函數中使用兩個嵌套循環來遍歷原始矩陣的每個元素,并將其賦值給轉置結果矩陣對應位置的元素。
在main
函數中,我們定義了一個3x3的矩陣matrix
,并調用transpose
函數來計算矩陣的轉置。最后,我們使用兩個嵌套循環來分別打印原始矩陣和轉置后的矩陣。