C語言對矩陣的轉制與二維陣列行列互換
阿新 • • 發佈:2019-02-06
//矩陣的轉制就是二維陣列的行列互換,比如有這樣的一個矩陣a[3][3]= 1,2,3
4,5,6
7,8,9
你的目的就是要把它變成a[3][3]= 1,4,7
2,5,8
3,6,9
你可以發現1,5,9的位置沒有改變。 如果你把矩陣按照1,5,9所在的直線對摺,發現後來的矩陣跟前面的矩陣重疊的位置交換下 也就是把第1行第2列換成第2行第1列 ,a[0][1]=a[1][0], 因此得出a[i][j]互換a[j][i],這裡以3*3的矩陣為例:
#include <stdio.h> int main(){ int a[3][3],b[3][3]; int i,j; printf("Please input string: "); for(i=0;i<=2;i++){ for(j=0;j<=2;j++){ scanf("%d", &a[i][j]); } } for(i=0;i<=2;i++){ for(j=0;j<=2;j++){ b[i][j]=a[j][i]; } } printf("A string is: \n"); for(i=0;i<=2;i++){ for(j=0;j<=2;j++){ printf("%d\t",a[i][j]); } printf("\n"); } printf("B string is: \n"); for(i=0;i<=2;i++){ for(j=0;j<=2;j++){ printf("%d\t",b[i][j]); } printf("\n"); } return 0; }