#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 定义二维数组的两个下标,分别代表矩阵的行数和列数
const int row_num = 3;
const int column_num = 3;
// 转置矩阵函数
void TRANSMAT(int A[row_num][column_num], int B[column_num][row_num]) {
int tu = 0; // 非零元素个数
// 转置前后的三元组
typedef struct {
int i;
int j;
int v;
} Triple;
Triple A_triplet[row_num * column_num];
Triple B_triplet[row_num * column_num];
// 将矩阵A转化为三元组表示
for (int i = 0; i < row_num; i++) {
for (int j = 0; j < column_num; j++) {
if (A[i][j] != 0) {
A_triplet[t