帮忙求置换矩阵
发布网友
发布时间:2022-04-23 02:51
我来回答
共4个回答
热心网友
时间:2023-10-12 09:23
我用的是c语言,在VC++6.0里用这些代码就可以了
#include<stdlib.h>
#include<stdio.h>
main()
{
int a[40][40];
int m,n,tmp,length;
printf("Input a[][]\n\n");
printf("Length(<=40):");
scanf("%d",&length);/*矩阵维数*/
if(length>40)
{
printf("\nError!\nOut of bound!");
getch();
exit(1);
}
/*输入*/
printf("\nInput:\n\n");
for(m=0;m<length;m++)
{
for(n=0;n<length;n++)
{
printf("a[%d][%d]=",m,n);
scanf("%d",&a[m][n]);
}
printf("\n");
}
/*显示*/
printf("\na[%d][%d]:\n",length,length);
for(m=0;m<length;m++)
{
for(n=0;n<length;n++)
{
printf("%4d",a[m][n]);
}
printf("\n");/*换行*/
}
/*行列互换*/
for(m=0;m<length;m++)
{ for(n=m;n<length;n++)
{
tmp=a[m][n];
a[m][n]=a[n][m];
a[n][m]=tmp;
}
}
/*输出*/
printf("\nNow:\n");
for(m=0;m<length;m++)
{
for(n=0;n<length;n++)
{
printf("%4d",a[m][n]);
}
printf("\n");/*换行*/
}
printf("\n\npress any key to exit...");
getch();
return 0; }
热心网友
时间:2023-10-12 09:23
你的[1000001100]有十个数 还只有8行
a[i][j]=a[j][i]
这是对关于对角线对称位置的数进行交换数值
只要把第一列作为新矩阵的第一行,第二列作为新矩阵的第二行。。这样就行了
交换单位矩阵I的第i行与第j行得到的矩阵称为交换矩阵这说法我没听过 可交换矩阵式AB=BA 这只是行变换不能叫交换矩阵吧 P1AP2=A'不过是对A进行行列的变换 行与行交换 列与列交换 得不到置换矩阵的吧
热心网友
时间:2023-10-12 09:24
我用的是c语言,在VC++6.0里用这些代码就可以了
#include<stdlib.h>
#include<stdio.h>
main()
{
int
a[40][40];
int
m,n,tmp,length;
printf("Input
a[][]\n\n");
printf("Length(<=40):");
scanf("%d",&length);/*矩阵维数*/
if(length>40)
{
printf("\nError!\nOut
of
bound!");
getch();
exit(1);
}
/*输入*/
printf("\nInput:\n\n");
for(m=0;m<length;m++)
{
for(n=0;n<length;n++)
{
printf("a[%d][%d]=",m,n);
scanf("%d",&a[m][n]);
}
printf("\n");
}
/*显示*/
printf("\na[%d][%d]:\n",length,length);
for(m=0;m<length;m++)
{
for(n=0;n<length;n++)
{
printf("%4d",a[m][n]);
}
printf("\n");/*换行*/
}
/*行列互换*/
for(m=0;m<length;m++)
{
for(n=m;n<length;n++)
{
tmp=a[m][n];
a[m][n]=a[n][m];
a[n][m]=tmp;
}
}
/*输出*/
printf("\nNow:\n");
for(m=0;m<length;m++)
{
for(n=0;n<length;n++)
{
printf("%4d",a[m][n]);
}
printf("\n");/*换行*/
}
printf("\n\npress
any
key
to
exit...");
getch();
return
0;
}
热心网友
时间:2023-10-12 09:24
,,,置换矩阵就是行变列,列变为行,比如
│1 2 3│换为│1 4 7│
│4 5 6│ │2 5 8│
│7 8 9│ │3 6 9│
你依次把行和列对换就可以了..