求对两个矩阵的乘积按从小到大排序的算法(用C++语言写)

来源:百度知道 编辑:UC知道 时间:2024/05/16 14:59:28
求对两个矩阵的乘积按从小到大排序的算法(用C++语言写),如果能够做出来,我会加倍送分的,积分对我来说不重要
是对结果的排序

#include<iostream>
using namespace std;

#define N 4
#define M 5

int main()
{
int a[N][M]={0};
int b[M][N]={0};
int c[N][N]={0};
int i,j,k,temp,*p;

//输入
cout<<"请输入一个"<<N<<"行"<<M<<"列的矩阵:"<<endl;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
cin>>a[i][j];
cout<<"请输入一个"<<M<<"行"<<N<<"列的矩阵:"<<endl;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
cin>>b[i][j];

//矩阵a×矩阵b=矩阵c
for(i=0;i<N;i++)
for(j=0;j<N;j++)
{
c[i][j]=0;
for(k=0;k<M;k++)
c[i][j]+=a[j][k]*b[k][j];
}

//冒泡排序
p=&c[0][0];
for(i=0;i<N*N;i++)
for(j=N*N-1;j>i;j--)
if(p[j]>p[j-1])
{//交换
temp=p[j];
p[j]=p[j-1];
p[j-1]=temp;
}

//输出
cout&