回 帖 发 新 帖 刷新版面

主题:采用两个三元组,实现矩阵的加法(采用4*4矩阵)

采用两个三元组,实现矩阵的加法(采用4*4矩阵)
按照二维数组先行后列输出结果。
 
怎么做呢?各位大虾帮帮忙,谢谢了

回复列表 (共1个回复)

沙发

#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);
}
先贴到这,还没实现先行后列输出,临时有事,待续...






























我来回复

您尚未登录,请登录后再回复。点此登录或注册