-
大小: 2KB文件類型: .c金幣: 1下載: 0 次發(fā)布日期: 2021-05-20
- 語言: 其他
- 標簽: 數(shù)據(jù)結構??三元組??稀疏矩陣??
資源簡介
已知稀疏矩陣用三元組表示編寫C=A*B的算法。
代碼片段和文件信息
#include
#include
#include
#include
#define?SMAX?16
typedef?int?datatype;
typedef?struct?
{
int?ij;
datatype?v;
}node;
typedef?struct
{
int?mnt;
node?data[SMAX];
}spmatrix;
spmatrix?*CreateM()
{
int?iabc;
spmatrix?*s;
s=(spmatrix?*)malloc(sizeof(spmatrix));
????for(i=0;i<1;i++)
{
printf(“請輸入行數(shù),列數(shù),以及數(shù)據(jù)個數(shù):\n“);
scanf(“%d?%d?%d“&a&b&c);
if((c>a*b)||(c>SMAX))
{
printf(“您輸入的元素個數(shù)錯誤!\n請重新輸入:\n“);
i--;
continue;
}//進行錯誤檢查
s->m=a;
s->n=b;
s->t=c;
}
printf(“請按下列個數(shù)輸入元素(行號?列號?數(shù)據(jù))\n“);
for(i=0;it;i++)
{
scanf(“%d?%d?%d“&a&b&c);
if((a>s->m)||(b>s->n))
{
printf(“您輸入的元素不合法!請重新輸入:\n“);
i--;
continue;
}//防止輸入錯誤
s->data[i].i=a-1;
s->data[i].j=b-1;
s->data[i].v=c;
}
return?s;
}
void?Output(spmatrix?*s)
{
int?i=0j=0k=0flag=0;
printf(“大小:%d×%d\n“s->ms->n);
for(;im;i++)
{
for(j=0;jn;j++)
if((i==s->data[k].i)&&(j==s->data[k].j))
{
printf(“%4d“s->data[k].v);
k++;
}
else?printf(
- 上一篇:歡迎界面 labview
- 下一篇:模擬死鎖檢測算法[死鎖檢測算法實現(xiàn)]
評論
共有 條評論