欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

c語言高維轉置矩陣函數(shù) 求矩陣的轉置矩陣C語言

c語言矩陣轉置函數(shù),定義一個二維數(shù)組 int a[5][3],保存一個5*3的矩陣a,求他的轉置矩陣b。

/* 程式功能: 矩陣轉置 (transportation) *//*輸入:m×n矩陣A *//*輸出:矩陣B,B=AT */#include void main() { int i, j, m=5, n=5; int B[6][6], A[6][6]; printf("請依序輸入二維陣列A(5x5)的元素內(nèi)容(可以5個一行,可以空格或回車隔開): \n"); for (i = 1; i = 5; i++) { for (j = 1; j = 5; j++) { scanf("%d", A[i][j]); } } printf("\n\n原始:\n"); for(i = 1; i = m; i ++) { for(j = 1; j =n; j++) { printf("%4d",A[i][j]); } printf("\n"); } printf("\n轉置後:\n"); for (i = 1; i = m; i++) { for (j = 1; j = n; j++) { B[i][j] = A[j][i]; /*作轉置的動作*/ printf("%4d ", B[i][j]); /*輸出轉置後的結果*/ } printf("\n"); }}

創(chuàng)新互聯(lián)公司網(wǎng)站建設服務商,為中小企業(yè)提供網(wǎng)站設計制作、做網(wǎng)站服務,網(wǎng)站設計,網(wǎng)站托管等一站式綜合服務型公司,專業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競爭對手中脫穎而出創(chuàng)新互聯(lián)公司

c語言如何通過定義函數(shù)來轉置矩陣?

#include stdio.h

int main()

{ struct aaa

{ int x;

int y;

};

struct aaa t,a[3][3]= {0,0,0,1,0,2,1,0,1,1,1,2,2,0,2,1,2,2};

int i,j;

for(i=0; i3; i++)

{ for(j=0; j3; j++)

printf("[%d,%d]? ",a[i][j].x,a[i][j].y);

printf("\n");

}

printf("after:\n");

for(i=0; i3; i++)

for(j=0; ji; j++)

{ t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

}

for(i=0; i3; i++)

{ for(j=0; j3; j++)

printf("[%d,%d]? ",a[i][j].x,a[i][j].y);

printf("\n");

}

return 0;

}

或:

#include stdio.h

struct aaa

{ int x;

int y;

};

void zhuanzhi(struct aaa a[][3])

{ struct aaa t;

int i,j;

for(i=0; i3; i++)

for(j=0; ji; j++)

{ t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

}

}

void prt(struct aaa a[][3])

{ int i,j;

for(i=0; i3; i++)

{ for(j=0; j3; j++)

printf("[%d,%d]? ",a[i][j].x,a[i][j].y);

printf("\n");

}

}

int main()

{ struct aaa a[3][3]= {0,0,0,1,0,2,1,0,1,1,1,2,2,0,2,1,2,2};

prt(a);

zhuanzhi(a);

printf("after:\n");

prt(a);

return 0;

}

c語言用convert函數(shù)求矩陣的轉置

參考代碼如下:

#includestdio.h

int A[10][10]={0};

void convert(int a[][10], int *m, int *n)

{

int i,j,t;

for(i=0;i*m;++i)

for(j=i;j*n;++j){

t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

}

t=*m;

*m=*n;

*n=t;

}

int main()

{

int i,j,m,n;

scanf("%d%d",m,n);

if(m10||n10)

return 0;

for(i=0;im;++i)

for(j=0;jn;++j)

scanf("%d",A[i][j]);

convert(A,m,n);

for(i=0;im;++i){

for(j=0;jn;++j)

printf("%d ",A[i][j]);

printf("\n");

}

return 0;

}

C語言-矩陣轉置

①目標

將一個二維數(shù)組表示的矩陣轉置

②命令行

#includestdio.h

#include stdlib.h

~

③定義函數(shù)

void fun(int array[3][3])

{int i,j,t;

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

for(j=i+1;j<3;j++)

/*注意:只遍歷了矩陣的右上半部分。

如果for(j=0;j<3;j++,表示遍歷矩陣全部元素,右上與左下交換,左下又與右上交換,導致重復轉置,矩陣沒有變化。*/

{t=array[i][j];

array[i][j]=array[j][i];

array[j][i]=t;}

/*交換語句,矩陣右上半部分,與對應左下半部分,元素交換,完成轉置*/

}

~

④主函數(shù)(調用)

void main()

{int i,j;

int array[3][3]={{1,2,3},{4,5,6},{7,8,9}};

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

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

/*輸出原矩陣,遍歷全部*/

printf("%7d",array[i][j]);

printf("\n");}

fun(array);

/*利用fun函數(shù)完成轉置*/

printf("converted array:\n");

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

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

printf("%7d",array[i][j]);

printf("\n");}

}

用C語言編寫一個矩陣轉置的函數(shù),矩陣的行數(shù)和列數(shù)在程序中由用戶輸入,請問怎么寫,非常感謝

我的代碼邏輯是:

矩陣行指針初值指向每行首地址,迭代依次取所有行指針指向值組成新行,所有行指針自增。最終組合新的矩陣。

#include?stdio.h

#include?malloc.h

int?**getList(int?row,int?clo);//獲取矩陣地址空間

void?setNum(int?**nList,int?n);//填寫數(shù)值

void?prtList(int?**nList,int?row,int?clo);//打印矩陣

int?**zz(int?**nList,int?row,int?clo);//轉置函數(shù)

int?main()

{

int?row,clo,**nList=NULL,**nListSave=NULL;

printf("輸入矩陣行列數(shù):");

scanf("%d%d",row,clo);

nList=getList(row,clo);

setNum(nList,row*clo);

printf("輸入的矩陣為:\n");

prtList(nList,row,clo);

printf("轉置后的矩陣為:\n");

nListSave=zz(nList,row,clo);

free(nList);

nList=nListSave;

prtList(nList,clo,row);

return?0;

}

int?**zz(int?**nList,int?row,int?clo)

{

int?*nSave=NULL,**listSave=NULL,**listp=nList,*p=NULL,i,j;

nSave=(int?*)malloc(sizeof(int)*row*clo);

listSave=(int?**)malloc(sizeof(int*)*clo);//倒置后的矩陣

p=nSave;

for(j=0;jclo;j++)

{

for(i=0;irow;i++)

{

*p++=*listp[i];

listp[i]=listp[i]+1;

}

}

for(i=0;iclo;i++)

listSave[i]=nSave[i*row];

for(i=0;irow;i++)

free(nList[i]);//釋放原矩陣行空間

return??listSave;

}

void?prtList(int?**nList,int?row,int?clo)

{

int?i,j;

for(i=0;irow;i++)

{

for(j=0;jclo;j++)

printf("%d?",nList[i][j]);

printf("\n");

}

}

void?setNum(int?**nList,int?n)

{

int?*p=nList[0];

printf("填寫矩陣中%d個數(shù)值:\n",n);

while(n--0)

scanf("%d",p++);

}

int?**getList(int?row,int?clo)

{

int?*nums,**nList,i;

nums=(int?*)malloc(sizeof(int)*row*clo);

nList=(int?**)malloc(sizeof(int*)*row);

for(i=0;irow;i++)

nList[i]=nums[i*clo];

return?nList;

}

本文題目:c語言高維轉置矩陣函數(shù) 求矩陣的轉置矩陣C語言
標題網(wǎng)址:http://chinadenli.net/article4/hijpoe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈App開發(fā)關鍵詞優(yōu)化定制開發(fā)品牌網(wǎng)站設計網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)