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

📄 main.c

📁 实现稀疏矩阵的加法、减法、乘法、还有转置
💻 C
字号:
#include <stdio.h>
#include "RLSMatrix.h"

void input(RLSMatrix *pM)
{
	int ch;

	printf("选择输入形式:\n"\
		   "1.三元组形式输入\n"\
		   "2.矩阵形式输入\n");
	scanf("%d", &ch);
	switch (ch){
		case 1:
			CreateSMatrix_Triple(pM);
			break;
		case 2:
			CreateSMatrix_Matrix(pM);
			break;
	}
}

int main()
{
	RLSMatrix M, N, Q;
	int ch;

	printf("输入矩阵M\n");
	input(&M);
	printf("输入矩阵N\n");
	input(&N);
	puts("\n");

	for (;;){
		printf("选择运算:\n"\
			   "1.M+N\t4.转置M\t6.输出M\n"\
			   "2.M-N\t5.转置N\t7.输出N\n"\
			   "3.M*N\t\t0.退出\n");
		scanf("%d", &ch);
		switch (ch){
			case 1:
				if (AddSMatrix(&M, &N, &Q) == OK)
					PrintSMatrix(&Q);
				else
					printf("M与N不能相加\n");
				break;
			case 2:
				if (SubSMatrix(&M, &N, &Q) == OK)
					PrintSMatrix(&Q);
				else
					printf("M与N不能相减\n");
				break;
			case 3:
				if (MultSMatrix(&M, &N, &Q) == OK)
					PrintSMatrix(&Q);
				else
					printf("M与N不能相乘\n");
				break;
			case 4:
				FastTransposeSMatrix(&M, &Q);
				PrintSMatrix(&Q);
				break;
			case 5:
				FastTransposeSMatrix(&N, &Q);
				PrintSMatrix(&Q);
				break;
			case 6:
				PrintSMatrix(&M);
				break;
			case 7:
				PrintSMatrix(&N);
				break;
			case 0:
				return 0;
		}
	}//for

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -