⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 athwartofmatrix.txt

📁 这是一个关于距阵相乘的算法
💻 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 + -