當前位置:首頁 » 編程語言 » c語言行列轉換的代碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言行列轉換的代碼

發布時間: 2023-08-28 09:24:19

1. c語言:二維數組行列互換

由於行、列不確定,所以要動態處理。舉例代碼如下:

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"stdlib.h"
intmain(void){
int**a,**b,m,n,i,j;
while(1){//保證輸入的行、列數為正數
printf("Pleaseenterm&n(intm>0,n>0)... ");
if(scanf("%d%d",&m,&n),m>0&&n>0)
break;
printf("Error,redo:");
}
a=(int**)malloc((j=sizeof(int))*m);
b=(int**)malloc(j*n);
if(a==NULL||b==NULL){
printf("Applicationmemoryfailure... ");
exit(0);
}
for(i=0;i<m;i++)
if((a[i]=(int*)malloc(j*n))==NULL){
printf("Failedtocreatethearray... ");
exit(0);
}
for(i=0;i<n;i++)
if((b[i]=(int*)malloc(j*m))==NULL){
printf("Failedtocreatethearray... ");
exit(0);
}
for(i=0;i<m;i++)
for(j=0;j<n;scanf("%d",a[i]+j++));
printf(" ");
for(i=0;i<n;i++){
for(j=0;j<m;j++)
printf("%d",b[i][j]=a[j][i]);//a的行、列互換後存入b
printf(" ");
}
for(i=0;i<m;free(a[i++]));
free(a);
for(i=0;i<n;free(b[i++]));
free(b);
return0;
}

2. C語言將一個二維數組行和列的元素互換,存到另一個二維數組中,即矩陣的轉換

#include <stdio.h>

int main ( )

{ int i,j,a[3][4],b[4][3];

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

for(j=0; j<4; j++)

a[i][j]=i*4+j+1;

printf("二維數組A: ");

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

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

{ printf("%4d",a[i][j]); //輸出A矩陣

b[j][i]=a[i][j]; //轉置到B矩陣

}

printf(" ");

}

printf(" 二維數組B: ");

for(i=0; i<4; i++) //輸出B矩陣

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

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

printf(" ");

}

return 0;

}

3. 您好~怎麼樣用C語言編寫一個實現矩陣((3行3列)的轉置,即行列互換

#include <stdio.h>
int fun(int array[3][3])
{
int i,j,temp;
for(i=0;i<3;i++)
{
for(j=i;j<3;j++)
{
temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;
}
}
return 0;
}
int main()
{
int i,j;
int array[3][3]={{100,200,300}, {400,500,600}, {700,800,900}};
for (i=0;i<3;i++)
{ for (j=0;j<3;j++)
printf("%7d",array[i][j]);
printf("\n");
}
fun(array);
printf("Converted array:\n");
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
printf("%7d",array[j][i]);
printf("\n");
}
return 0;
}

4. c語言編程編寫程序實現矩陣(3行3列)的轉置(即行列互換),將轉置後的數組寫到out指針

#include<iostream.h>
void main()
{
int a[3][3],b[3][3];
int p=0;
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
cin>>a[i][j];
b[j][i]=a[i][j];
}
}
cout<<"原矩陣為:"<<endl;
for(int m=0;m<3;m++)
{
for(int n=0;n<3;n++)
{
cout<<a[m][n]<<" ";
p++;
if(p%3==0)
cout<<endl;

}
}
cout<<endl;
cout<<"轉置後的矩陣為:"<<endl;
for(int c=0;c<3;c++)
{
for(int d=0;d<3;d++)
{
cout<<b[c][d]<<" ";
p++;
if(p%3==0)
cout<<endl;

}
}
}

5. C語言中如何將一個3×3的二維數組,行列互換,並賦值到另一個二維數組

#include<stdio.h>


intmain(void)


{


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


intarray_1[3][3];


printf("原始數組: ");


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


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


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


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


}


printf(" ");


}


printf("轉換後數組: ");


for(intm=0;m<3;m++){


for(intn=0;n<3;n++){


printf("%d ",array_1[m][n]);


}


printf(" ");


}


return0;


}

6. C語言,使一個3*3的數組轉置,即行列互換

#include<stdio.h>
intmain()
{
inta[3][3],b,c,d;
for(b=0;b<3;b++)
for(c=0;c<3;c++)
scanf("%d",&a[b][c]);
printf(" ");
for(b=0;b<3;b++)
for(c=b+1;c<3;c++)
{
d=a[b][c];
a[b][c]=a[c][b];
a[c][b]=d;
}
for(b=0;b<3;b++)
{for(c=0;c<3;c++)
printf("%d",a[b][c]);
printf(" ");
}
return0;
}