📄 athwartofmatrix.txt
字号:
两个矩阵相乘的源程序
作者:佚名 来源:不详 发布时间:2005-3-13 17:50:35 发布人:admin
减小字体 增大字体
*****************A=B*C******************/
#include<stdio.h>
#include<conio.h>
#define X 3
#define Y 3
int a[X][Y];
int b[X][Y];
int c[X][Y];
void matrix(int b[][X],int c[][Y]);
main()
{
int i,j,temp;
clrscr();
printf("Please input int matrix b[%d][%d]\n",X,Y);
for(i=0;i<Y;i++)
for(j=0;j<Y;j++){
scanf("%d",&temp);
b[i][j]=temp;
}
printf("Please input int matrix c[%d][%d]\n",X,Y);
for(i=0;i<X;i++)
for(j=0;j<Y;j++){
scanf("%d",&temp);
c[i][j]=temp;
}
matrix(b,c);
printf("Now print resource matrix b[%d][%d]=",X,Y);
for(i=0;i<X;i++){
printf("\n");
for(j=0;j<Y;j++)
printf("%d ",b[i][j]);
}
printf("\n");
printf("Now print resource matrix c[%d][%d]=",X,Y);
for(i=0;i<X;i++){
printf("\n");
for(j=0;j<Y;j++)
printf("%d ",c[i][j]);
}
printf("\n");
printf("Now printm multiply results matrix a[%d][%d]=B*C:",X,Y);
for(i=0;i<X;i++){
printf("\n");
for(j=0;j<Y;j++)
printf("%d ",a[i][j]);
}
getch();
return 0;
}
/********************************************************************/
void matrix(int b[][X],int c[][Y])
{
int i,j,k,temp;
for(i=0;i<X;i++)
for(j=0;j<Y;j++){
for(k=0;k<Y;k++)
a[i][j]+=b[i][k]*c[k][j];
}
}
求距阵的逆
main()
{int i,j,k,m,p,q;
float temp;
float a[4][8]={2,1,-3,-1,1,0,0,0,3,1,0,7,0,1,0,0,-1,2,4,-2,0,0,1,0,1,0,-1,5,0,0,0,1};
for(i=0;i<4;i++)
{j=i;
for(p=i+1;p<4;p++)
{if(fabs(a[i][j])<fabs(a[p][j]))
{for(q=j;q<8;q++)
{temp=a[i][q];
a[i][q]=a[p][q];
a[p][q]=temp;
}
}
}
for(k=j;j<8;k++)a[j][k]=a[i][k]/a[i][j];
for(k=0;k<4;k++)
{for(m=7;m<=j;m--)
{if(k!=i)a[k][m]=a[k][m]-a[i][m]*a[k][j];
}
}
}
for(i=0;i<4;i++)
{for(j=4;j<8;j++)
{if(j==4)printf("\n");
printf("%f ",a[i][j]);
}
}
}
麻烦各位看看,有什么问题?
或者给我一个求距阵的逆的源码也可以~谢了!!!!
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -