當前位置:編程學習大全網 - 編程軟體 - 編寫壹個程序,求3X4數組的轉置矩陣。要求在main函數裏讀數,在change函數裏把矩陣轉置。

編寫壹個程序,求3X4數組的轉置矩陣。要求在main函數裏讀數,在change函數裏把矩陣轉置。

寫了2種。

第壹種 數組a[3][4] 轉置為 b[4][3]。第2種 數組m*n 轉置為 [n*m]。

#include<stdio.h>

void change(int a[3][4],int b[4][3]){

int i,j ;

for (i=0;i<3;i++) for (j=0;j<4;j++) b[j][i]=a[i][j];

}

void change2(int *a,int *t,int m, int n){

int i,j;

for (j=0;j<n;j++) for (i=0;i<m;i++) t[j*m+i]=a[i*n+j];

}

int main() {

int a[3][4]={11,12,13,14,21,22,23,24,31,32,33,44 },b[4][3];

int x[3][4]={41,42,43,44,51,52,53,54,61,62,63,64 },y[4][3];

int i,j;

printf("input a[3][4] data:\n");

for (i=0;i<3;i++) for (j=0;j<4;j++) scanf("%d",&a[i][j]);

printf("before\n");

for (i=0;i<3;i++) {

for (j=0;j<4;j++)printf("%d ",a[i][j]); printf("\n");

}

change(a,b); printf("after\n");

for (i=0;i<4;i++) {

for (j=0;j<3;j++)printf("%d ",b[i][j]); printf("\n");

}

printf("\nbefore\n");

for (i=0;i<3;i++) {

for (j=0;j<4;j++)printf("%d ",x[i][j]); printf("\n");

}

change2(&x[0][0],&y[0][0],3,4);

for (i=0;i<4;i++) {

for (j=0;j<3;j++)printf("%d ",y[i][j]); printf("\n");

}

return 0;

}

  • 上一篇:請VB編程高手幫忙
  • 下一篇:在電廠花錢找了壹份工作,說的挺好,可是進去了感覺挺失望,就是看電腦分選系統,學不到東西,很無聊。
  • copyright 2024編程學習大全網