📄 lsmatrix.h
字号:
void CreatSMatrix(RLSMatrix &q,int mu,int nu)
{
//创建一个带行链接的三元组顺序表矩阵
int arow,acol,i,j;
int ctemp[21][21];
if((mu>MAXSIZE) ||(mu<1) ||(nu<1) || (nu>MAXSIZE))
{
printf("输入的矩阵已超出最大表示范围\n");
exit(0);
}
for(i=0;i<=20;i++)
for(j=0;j<=20;j++)
ctemp[i][j]=0;
for(i=1;i<=mu;i++)
{
for(j=1;j<=nu;j++)
scanf("%d",&ctemp[i][j]);
//ctemp[i][j]=*(*(point+i)+j);
}
q.mu=mu;q.nu=nu;q.tu=0;
for(arow=1;arow<=mu;arow++)
{
q.rpos[arow]=q.tu+1;
for(acol=1;acol<=nu;acol++)
if(ctemp[arow][acol])
{
if(++q.tu>MAXSIZE)
{
printf("create bounds error\n");
exit(0);
}
q.data[q.tu].row =arow;
q.data[q.tu].col =acol;
q.data[q.tu].number=ctemp[arow][acol];
}
}
}
void PrintSMatrix(RLSMatrix q)
{
//输出矩阵
int i,j,nzero;
int arow,acol;
int a[20][20];
for(i=0;i<=q.mu;i++)
for(j=0;j<=q.nu;j++)
a[i][j]=0;
if((q.mu==0) || (q.nu==0))
{
printf("请先创建矩阵:\n");
exit(0);
}
for(nzero=1;nzero<=q.tu;nzero++)
{
arow =q.data[nzero].row;
acol =q.data[nzero].col;
a[arow][acol]=q.data[nzero].number;
}
for(i=1;i<=q.mu;i++)
{
for(j=1;j<=q.nu;j++)
printf(" %d ",a[i][j]);
printf("\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -