#include<stdio.h>
#include<stdlib.h>
#define Max 20
typedef struct{
int i,j;//行列
int e;//元素值
}A;
typedef struct{
A data[Max+1];
int mu,mn,tu;//行//列//非0个数
}TS;
void init(TS &L,int m,int n,int t){
L.mn=m;
L.mu=n;
L.tu=t;
}
int ans1[Max][Max];
int ans2[Max][Max];
void cheng(TS &L1,TS &L2){
int sum[L1.data[0].i+1][L2.data[0].j+1];
for(int i=1;i<=L1.data[0].i;i++){
for(int j=1;j<=L2.data[0].j;j++){
sum[i][j]=0;
}
}
for(int p=1;p<=L1.data[0].e;p++){
int hang=L1.data[p].j;
for(int k=1;k<=L2.data[0].e;k++){
int lie=L2.data[k].i;
if(hang==lie){
sum[L1.data[p].i][L2.data[k].j]+=L1.data[p].e*L2.data[k].e;
}
}
}
printf("success 相乘\n");
for(int i=1;i<=L1.data[0].i;i++){
for(int j=1;j<=L2.data[0].j;j++){
printf("%d ",sum[i][j]);
}
printf("\n");
}
}
int main(){
printf("input arrary1 行长 列长:\n");
int row1,col1;
scanf("%d%d",&row1,&col1);
printf("input arrary1:\n");
int tt1=0;
for(int i=1;i<=row1;i++){
for(int j=1;j<=col1;j++){
scanf("%d",&ans1[i][j]);
if(ans1[i][j]!=0)tt1++;
}
}
TS L1;
init(L1,row1,col1,tt1);
L1.data[0].i=row1;
L1.data[0].j=col1;
L1.data[0].e=tt1;
int y1=1;
for(int ii=1;ii<=row1;ii++){
for(int jj=1;jj<=col1;jj++){
if(ans1[ii][jj]!=0){
L1.data[y1].e=ans1[ii][jj];
L1.data[y1].i=ii;
L1.data[y1].j=jj;
y1++;
}
}
}
printf("arrary1 三元组是:\n");
printf("行 列 值\n");
for(int p=0;p<y1;p++){
printf("%d %d %d\n",L1.data[p].i,L1.data[p].j,L1.data[p].e);
}
printf("\n");
printf("input arrary2 行长 列长:\n");
int row2,col2;
scanf("%d%d",&row2,&col2);
printf("input arrary2:\n");
int tt2=0;
for(int i=1;i<=row2;i++){
for(int j=1;j<=col2;j++){
scanf("%d",&ans2[i][j]);
if(ans2[i][j]!=0)tt2++;
}
}
TS L2;
init(L2,row2,col2,tt2);
L2.data[0].i=row2;
L2.data[0].j=col2;
L2.data[0].e=tt2;
int y2=1;
for(int ii=1;ii<=row2;ii++){
for(int jj=1;jj<=col2;jj++){
if(ans2[ii][jj]!=0){
L2.data[y2].e=ans2[ii][jj];
L2.data[y2].i=ii;
L2.data[y2].j=jj;
y2++;
}
}
}
printf("arrary2 三元组是:\n");
printf("行 列 值\n");
for(int p=0;p<y2;p++){
printf("%d %d %d\n",L2.data[p].i,L2.data[p].j,L2.data[p].e);
}
printf("相乘\n");
cheng(L1,L2);
}
c语言数据结构---三元数组---相乘
最新推荐文章于 2024-05-03 14:39:20 发布