c語言二維數組行列互換
『壹』 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;
}
『貳』 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;
}
『叄』 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;
}
『肆』 c語言將一個二維數組的行列互換
inty[2][3]={
{1,2,3},
{4,5,6},
};
intindex[2][3]={
{0x00,0x01,0x10},
{0x11,0x20,0x21},
};
intx[3][2];
inti,i1,temp;
for(i=0;i<2;i++){
for(i1=0;i1<3;i1++){
temp=index[i][i1];
x[temp>>4][temp&0xf]=y[i][i1];
}
}
『伍』 C語言關於二維數組行列互換的問題
這兩個坐標分別代錶行和列,所以「行列互換」實際上就是這兩個坐標互換啊。比如第2行第3列換成第3行第2列,不就是b[3][2]=a[2][3]嗎?