主题:采用两个三元组,实现矩阵的加法(采用4*4矩阵)
710343091
[专家分:0] 发布于 2008-01-07 13:24:00
采用两个三元组,实现矩阵的加法(采用4*4矩阵)
按照二维数组先行后列输出结果。
怎么做呢?各位大虾帮帮忙,谢谢了
回复列表 (共1个回复)
沙发
intelinside [专家分:170] 发布于 2008-01-09 23:00:00
#include <stdio.h>
#define maxsize 100
typedef struct
{
int i;//行号
int j;//列号
int d;/元素值
}datatype;
typedef struct
{
int md;//矩阵行数
int nd;//矩阵列数
}tritype;
typedef struct
{
datatype list[maxsize];
int size;
}seqlist;
void add(seqlist *a,seqlist b,tritype da,tritype db)
{int m,n
for(m=0;m<16;m++)
for(n=0;n<16;n++)
if((a->list[m].i==b.list[n].i)&&(a->list[m].j==b.list[n].j))
a->list[m].d+=b.list[n].d;
}
void main(void)
{seqlist listA,listB,int x,p,q;
tritype myA={4,4},tritype myB={4,4};
datatype a[]={},datatype b[]={};//用户根据自己的需要在a[]和a[]中初始化2个矩阵的个16个元
// 素,用户根据自己的需要
//在此行将a[]和b[]中的元素插入listA和listB中,程序略
add(listA,listB,myA,myB);
}
先贴到这,还没实现先行后列输出,临时有事,待续...
我来回复