?? 3-2.c
字號:
#include "stdio.h"
#define MaxSize 10000 //由用戶定義
typedef int DataType; //由用戶定義
typedef struct { //三元組
int i,j;//非零元的行、列號
DataType v; //非零元的值
}TriTupleNode;
typedef struct{ //三元組表
TriTupleNode data[MaxSize]; //三元組表空間
int m,n,t; //矩陣的行數、列數及非零元個數
}TriTupleTable;
void TransMatrix(TriTupleTable *b,TriTupleTable *a)
{//*a,*b是矩陣A、B的三元組表表示,求A轉置為B
int p,q,col;
b->m=a->n; b->n=a->m; //A和B的行列總數互換
b->t=a->t; //非零元總數
if(b->t<=0)
{
printf("A=0"); //A中無非零元,退出
exit(1);
}
q=0;
for(col=0;col<a->n;col++) //對A的每一列
for(p=0;p<a->t;p++) //掃描A的三元組表
if(a->data[p].j==col){ //找列號為col的三元組
b->data[q].i=a->data[p].j;
b->data[q].j=a->data[p].i;
b->data[q].v=a->data[p].v;
q++;
}
}
void main()
{
TriTupleTable a,b;
TransMatrix(&a,&b);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -