/* Note:Your choice is C IDE */
#include "stdio.h"
#include<process.h>
#include<malloc.h>
#define OK 1
#define ERROR 0
#define MAXSIZE 100
typedef int ElemType;
typedef int Status;
typedef struct{
int i,j;
ElemType e;
}Triple;
typedef struct{
Triple data[MAXSIZE+1];
int mu,nu,tu;
}TSMatrix;
#define N 7
#define M 6
typedef ElemType Array1[N];
typedef Array1 Array2[M];
int menu()
{
int i,choice;
for(i=0;i<20;i++)
putchar(42);
putchar(10);
printf("1:AssignSMtrix\n2:printSMatrix\n3:TransposeSMatrix\n");
for(i=0;i<20;i++)
putchar(42);
putchar(10);
do
{
printf("请选择 ");
scanf("%d",&choice);
}while(choice<1||choice>4);
return choice;
}A
Status AssignSMatrix(TSMatrix *M,int n)
{
int i,j;
M->tu=n;
printf("请输入稀疏矩阵的行数 ");
scanf("%d",&(M->data.i));
printf("请输入稀疏矩阵的列数 ");
scanf("%d",&(M->data.j));
for(i=1;i<=M->tu;i++)
{
printf("请输入第%d非零元素的行,列,和大小(用逗号隔开)\n",i);
scanf("%d,%d,%d",&(M->data.i),&(M->data.j),&(M->data.e));
}
return OK;
}
void main()
{
TSMatrix S;
int key,n;
while(1)
{
key=menu();
switch(key)
{
case 1:
printf("共有几个非零元素 ");
scanf("%d",&n);
AssignSMatrix(&S,n);
printf("成功!\n");
break;
case 4:exit(0);
}
}
}