C 語言實例 - 矩陣轉換
矩陣轉換。
實例
#include <stdio.h>
int main()
{
int a[10][10], transpose[10][10], r, c, i, j;
printf("輸入矩陣的行與列: ");
scanf("%d %d", &r, &c);
// 存儲矩陣的元素
printf("\n輸入矩陣元素:\n");
for(i=0; i<r; ++i)
for(j=0; j<c; ++j)
{
printf("輸入元素 a%d%d: ",i+1, j+1);
scanf("%d", &a[i][j]);
}
// 顯示矩陣 a[][] */
printf("\n輸入矩陣: \n");
for(i=0; i<r; ++i)
for(j=0; j<c; ++j)
{
printf("%d ", a[i][j]);
if (j == c-1)
printf("\n\n");
}
// 轉換
for(i=0; i<r; ++i)
for(j=0; j<c; ++j)
{
transpose[j][i] = a[i][j];
}
// 顯示轉換後的矩陣 a
printf("\n轉換後矩陣:\n");
for(i=0; i<c; ++i)
for(j=0; j<r; ++j)
{
printf("%d ",transpose[i][j]);
if(j==r-1)
printf("\n\n");
}
return 0;
}
輸出結果為:
輸入矩陣的行與列: 2 3 輸入矩陣元素: 輸入元素 a11: 2 輸入元素 a12: 3 輸入元素 a13: 4 輸入元素 a21: 5 輸入元素 a22: 6 輸入元素 a23: 4 輸入矩陣: 2 3 4 5 6 4 轉換後矩陣: 2 5 3 6 4 4