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

📄 e3888_41_0.cpp

📁 利用三元组顺序表表示稀疏矩阵
💻 CPP
字号:
#include <stdio.h>
#include <malloc.h>
#include "SMatrix_OL.h"
#include "SMatrix_OL_OP.h"
#include "RLSMatrix.h"
#include "RLSMatrix_OP.h"

Status main()
{
	Status stat;
	RLSMatrix M1,N1,Q1,T1,R1;
	CrossList M2,N2,Q2,T2,R2,S2;
	char in;
	printf("本程序包含矩阵两种实现方法,A.三元组形式    B.十字链表形式\n");
	while(1)
	{
		printf("A.三元组.\n");
		printf("B.十字链表.\n");
		printf("C.退出.\n");
		printf("%%");
		fflush(stdin);
		scanf("%c",&in);
		switch(in)
		{case 'A':
			while(1)
			{
				printf("***********************\n");
				printf("1.Input Matrix M.\n");
				printf("2.Input Matrix N.\n");
				printf("3.Add Matrix M and N.\n");
				printf("4.Sub Matrix M and N.\n");
				printf("5.Mul Matrix M and N.\n");
				printf("6.Exit.\n%%");
				fflush(stdin);
				scanf("%c",&in);
				fflush(stdin);
				switch(in)
				{
					case '1':stat=CreatRLSMatrix(M1);if(stat==OK) {printf("Matrix M:\n"); PrintSMatrix(M1);}break;
					case '2':stat=CreatRLSMatrix(N1);if(stat==OK) {printf("Matrix N:\n"); PrintSMatrix(N1);}break;
					case '3':stat=AddSMatrix(M1,N1,T1);if(stat==OK) {printf("Matrix T=M+N:\n"); PrintSMatrix(T1);DestroySMatrix(T1);}break;
					case '4':stat=SubSMatrix(M1,N1,Q1);if(stat==OK) {printf("Matrix Q=M-N:\n"); PrintSMatrix(Q1);DestroySMatrix(Q1);}break;
					case '5':stat=MultSMatrix(M1,N1,R1);if(stat==OK) {printf("Matrix R=M*N:\n"); PrintSMatrix(R1);DestroySMatrix(R1);}break;
					case '6':DestroySMatrix(M1);
							 DestroySMatrix(N1);
							 break;
					default :printf("Input Error!  Try again\n");break;
				}//switch
				if(in=='6') break;
			}//while
			break;
		case 'B':
			while(1)
			{
				printf("***********************\n");
				printf("1.Input Matrix M.\n");
				printf("2.Input Matrix N.\n");
				printf("3.Add Matrix M and N.\n");
				printf("4.Sub Matrix M and N.\n");
				printf("5.Mul Matrix M and N.\n");
				printf("6.Inv Matrix M.\n");
				printf("7.Exit.\n%%");
				fflush(stdin);
				scanf("%c",&in);
				fflush(stdin);
				switch(in)
				{
					case '1':stat=CreatSMatrix_OL(M2);if(stat==OK) {printf("Matrix M:\n"); PrintSMatrix_OL(M2);}break;
					case '2':stat=CreatSMatrix_OL(N2);if(stat==OK) {printf("Matrix N:\n"); PrintSMatrix_OL(N2);}break;
					case '3':stat=AddSMatrix_OL(M2,N2,T2);if(stat==OK) {printf("Matrix T=M+N:\n"); PrintSMatrix_OL(T2);}break;
					case '4':stat=SubSMatrix_OL(M2,N2,Q2);if(stat==OK) {printf("Matrix Q=M-N:\n"); PrintSMatrix_OL(Q2);}break;
					case '5':stat=MultSMatrix_OL(M2,N2,R2);if(stat==OK) {printf("Matrix R=M*N:\n"); PrintSMatrix_OL(R2);}break;
					case '6':stat=InvSMatrix_OL(M2,S2);if(stat==OK) {printf("Invese Matrix:\n");PrintSMatrix_OL(S2);}break;
					case '7':break;
					default :printf("Input Error!  Try again\n");break;
				}//switch
				if(in=='7') break;
			}//while
			break;
		case 'C':return OK;
		default :printf("Input Error!\n");break;
		}//switch in
	}//while 1
}

⌨️ 快捷键说明

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