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

矩陣轉(zhuǎn)置c語(yǔ)言調(diào)用函數(shù) C語(yǔ)言轉(zhuǎn)置矩陣

C語(yǔ)言-矩陣轉(zhuǎn)置

①目標(biāo)

創(chuàng)新互聯(lián)建站是專業(yè)的海南州網(wǎng)站建設(shè)公司,海南州接單;提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行海南州網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

將一個(gè)二維數(shù)組表示的矩陣轉(zhuǎn)置

②命令行

#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++,表示遍歷矩陣全部元素,右上與左下交換,左下又與右上交換,導(dǎo)致重復(fù)轉(zhuǎn)置,矩陣沒(méi)有變化。*/

{t=array[i][j];

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

array[j][i]=t;}

/*交換語(yǔ)句,矩陣右上半部分,與對(duì)應(yīng)左下半部分,元素交換,完成轉(zhuǎn)置*/

}

~

④主函數(shù)(調(diào)用)

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ù)完成轉(zhuǎn)置*/

printf("converted array:\n");

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

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

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

printf("\n");}

}

c語(yǔ)言~使用函數(shù) 完成3×3矩陣轉(zhuǎn)置,輸入一矩陣,輸出其轉(zhuǎn)置矩陣。

#include?stdio.h

#define?N?3

int?array[N][N];

void?transition(int?array[][3])

{

int?i,j,temp;

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

for(j=i+1;jN;j++)

{

temp=array[i][j];

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

array[j][i]=temp;

}

}

int?main(void)

{

void?transition(int?array[][3]);

int?i,j;

printf("請(qǐng)輸入數(shù)據(jù)\n");

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

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

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

printf("\n");

transition(array);

printf("調(diào)換數(shù)據(jù)如下\n");

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

{

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

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

printf("\n");

}

return?0;

}

~~~~~~

我寫的代碼,你自己參考吧,很簡(jiǎn)單的

用C語(yǔ)言編寫一個(gè)矩陣轉(zhuǎn)置的函數(shù),矩陣的行數(shù)和列數(shù)在程序中由用戶輸入,請(qǐng)問(wèn)怎么寫,非常感謝

我的代碼邏輯是:

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

#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);//轉(zhuǎn)置函數(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("轉(zhuǎn)置后的矩陣為:\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個(gè)數(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語(yǔ)言:寫一個(gè)函數(shù),將輸入的3*3的整形矩陣進(jìn)行轉(zhuǎn)置 用函數(shù)

#includestdio.h

int main()

{

void move(int *s);

int a[3][3];int i=0;

int *p=a[0][0];

printf("請(qǐng)輸入一個(gè)3*3的數(shù)組:\n");

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

{

scanf("%d%d%d",a[i][0],a[i][1],a[i][2]);

}

move(p);

printf("轉(zhuǎn)置后的結(jié)果:\n");

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

{

printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);

}

return 0;

}

void move(int *s)

{

int i,j,t;

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

{

for(j=i;j3;j++)

{

t=*(s+3*i+j);

*(s+3*i+j)=*(s+3*j+i);

*(s+3*j+i)=t;

}

}

}

擴(kuò)展資料:

在C語(yǔ)言或C++中,會(huì)把用來(lái)#include的文件的擴(kuò)展名叫 .h,稱其為頭文件。

#include文件的目的就是把多個(gè)編譯單元(也就是c或者cpp文件)公用的內(nèi)容,單獨(dú)放在一個(gè)文件里減少整體代碼尺寸;或者提供跨工程公共代碼。在現(xiàn)行的c++版本中,應(yīng)用這個(gè)頭文件應(yīng)是#includestdio.h

stdio 就是指 “standard input output"(標(biāo)準(zhǔn)輸入輸出)所以,源代碼中如用到標(biāo)準(zhǔn)輸入輸出函數(shù)時(shí),就要包含這個(gè)頭文件!

例如c語(yǔ)言中的 printf("%d",i); scanf("%d",i);等函數(shù)。

引用方法

#include stdio.h

(注:在TC2.0中,允許不引用此頭文件而直接調(diào)用其中的函數(shù),但這種做法是不標(biāo)準(zhǔn)的。也不建議這樣做。以避免出現(xiàn)在其他IDE中無(wú)法編譯或執(zhí)行的問(wèn)題。)

標(biāo)準(zhǔn)函數(shù)

int getchar()//從標(biāo)準(zhǔn)輸入設(shè)備寫入一個(gè)字符

int putchar()//向標(biāo)準(zhǔn)輸出設(shè)備讀出一個(gè)字符

int scanf(char*format[,argument…])//從標(biāo)準(zhǔn)輸入設(shè)備讀入格式化后的數(shù)據(jù)

int printf(char*format[,argument…])//向標(biāo)準(zhǔn)輸出設(shè)備輸出格式化字符串

char* gets(char*string)//從標(biāo)準(zhǔn)輸入設(shè)備讀入一個(gè)字符串

int puts(char*string)//向標(biāo)準(zhǔn)輸出設(shè)備輸出一個(gè)字符串

int sprintf(char*string,char*format[,…])//把格式化的數(shù)據(jù)寫入某個(gè)字符串緩沖區(qū)。

c語(yǔ)言如何通過(guò)定義函數(shù)來(lái)轉(zhuǎn)置矩陣?

#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;

}

分享名稱:矩陣轉(zhuǎn)置c語(yǔ)言調(diào)用函數(shù) C語(yǔ)言轉(zhuǎn)置矩陣
文章出自:http://chinadenli.net/article6/hgdgig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、外貿(mào)建站、企業(yè)網(wǎng)站制作、電子商務(wù)定制網(wǎng)站、搜索引擎優(yōu)化

廣告

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

微信小程序開(kāi)發(fā)