⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lsmatrix.h

📁 很好的矩阵链的计算代码
💻 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 + -