#include<iostream>
using namespace std;
#define n 2//注意可以根据不同的情况,n是矩阵的维数;只对对称矩阵
typedef int datetype;
void get_Data(datetype array[],datetype array1[])
{
cout<<"请输入矩阵一数据元素"<<endl;
for(int i=0;i<(n*(n+1)/2);i++)
{
cin>>array[i];
}
cout<<"请输入矩阵二数据元素"<<endl;
for( i=0;i<(n*(n+1)/2);i++)
{
cin>>array1[i];
}
cout<<"{dy}个压缩矩阵是"<<endl;
for(i=0;i<n*(n+1)/2;i++)
{ cout<<array[i]<<" ";
}
cout<<endl;
cout<<"第二个压缩矩阵是"<<endl;
for(i=0;i<n*(n+1)/2;i++)
{
cout<<array1[i]<<" ";
}
cout<<endl;
}
void display(datetype a[],datetype b[],datetype c[])
{
int i,j,k,v,p,q,sum;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
if(i>=j)
{
v=i*(i-1)/2+j-1;
sum=0;
for(k=1;k<=n;k++)
{
if(i>=k)
p=i*(i-1)/2+k-1;
else
p=k*(k-1)/2+i-1;
if(j>=k)
q=j*(j-1)/2+k-1;
else
q=k*(k-1)/2+j-1;
sum=sum+a[p]*b[q];
}
c[v]=sum;
}
}
}
int main(){
datetype array[n*(n+1)/2];
datetype array1[n*(n+1)/2];//=new datetype[n*(n-1)/2];
datetype array2[n*(n+1)/2];
get_Data( array, array1);
display( array, array1, array2);
for(int i=0;i<n*(n+1)/2;i++)
{
cout<<array2[i]<<" ";
cout<<endl;
}
return 1;
}