#include <stdio.h>
#define MAX_SIZE 20
#define MAXR 10
typedef int ElemType;
typedef struct Triple
{
int i;
int j;
ElemType e;
}Triple;
typedef struct SparseMatrix
{
Triple data[MAX_SIZE];
int rpos[MAXR+1];
int mu, nu, tu;
}SM;
void CreateSM(SM* M, int mu, int nu, int tu)
{
M->mu = mu;
M->nu = nu;
M->tu = tu;
M->data[0].i = 1;
M->data[0].j = 2;
M->data[0].e = 12;
M->data[1].i = 1;
M->data[1].j = 3;
M->data[1].e = 9;
M->data[2].i = 3;
M->data[2].j = 1;
M->data[2].e = -3;
M->data[3].i = 3;
M->data[3].j = 6;
M->data[3].e = 14;
M->data[4].i = 4;
M->data[4].j = 3;
M->data[4].e = 24;
M->data[5].i = 5;
M->data[5].j = 2;
M->data[5].e = 18;
M->data[6].i = 6;
M->data[6].j = 1;
M->data[6].e = 15;
M->data[7].i = 6;
M->data[7].j = 4;
M->data[7].e = -7;
}
void TransposeMatrix(SM* M, SM* N)
{
N->mu = M->nu;
N->nu = M->mu;
N->tu = M->tu;
int q = 0;
#define MAX_SIZE 20
#define MAXR 10
typedef int ElemType;
typedef struct Triple
{
int i;
int j;
ElemType e;
}Triple;
typedef struct SparseMatrix
{
Triple data[MAX_SIZE];
int rpos[MAXR+1];
int mu, nu, tu;
}SM;
void CreateSM(SM* M, int mu, int nu, int tu)
{
M->mu = mu;
M->nu = nu;
M->tu = tu;
M->data[0].i = 1;
M->data[0].j = 2;
M->data[0].e = 12;
M->data[1].i = 1;
M->data[1].j = 3;
M->data[1].e = 9;
M->data[2].i = 3;
M->data[2].j = 1;
M->data[2].e = -3;
M->data[3].i = 3;
M->data[3].j = 6;
M->data[3].e = 14;
M->data[4].i = 4;
M->data[4].j = 3;
M->data[4].e = 24;
M->data[5].i = 5;
M->data[5].j = 2;
M->data[5].e = 18;
M->data[6].i = 6;
M->data[6].j = 1;
M->data[6].e = 15;
M->data[7].i = 6;
M->data[7].j = 4;
M->data[7].e = -7;
}
void TransposeMatrix(SM* M, SM* N)
{
N->mu = M->nu;
N->nu = M->mu;
N->tu = M->tu;
int q = 0;