C语言-稀疏数组转置

server/2024/12/20 7:38:19/

1.题目要求

 

2.代码实现 

#include <stdio.h>
#define MAX_TERM 80// 定义稀疏矩阵结构体
typedef struct juzhen {int row;int col;int value;
} Juzhen;// 显示稀疏矩阵
void show(Juzhen a[], int count_a) {printf(" i row col val\n");for (int i = 1; i <= count_a; i++) {printf(" %d|  %d   %d   %d\n", i, a[i].row, a[i].col, a[i].value);}
}// 转置稀疏矩阵
void zhuanzhi(Juzhen a[], Juzhen b[]) {int i, j, k;b[0].row = a[0].col;b[0].col = a[0].row;b[0].value = a[0].value;if (a[0].value > 0) {k = 1;for (i = 0; i < a[0].col; i++) {for (j = 1; j <= a[0].value; j++) {if (a[j].col == i) {b[k].row = a[j].col;b[k].col = a[j].row;b[k].value = a[j].value;k++;}}}}
}// 初始化稀疏矩阵
void init(Juzhen a[], int *rows, int *cols, int *count) {printf("please input the number of rows,cols and values\n");scanf("%d,%d,%d", rows, cols, count);a[0].row = *rows;a[0].col = *cols;a[0].value = *count;for (int i = 1; i <= *count; i++) {printf("please input the row,col and value\n");scanf("%d,%d,%d", &a[i].row, &a[i].col, &a[i].value);}
}int main() {Juzhen a[MAX_TERM];Juzhen b[MAX_TERM];int rows, cols, count;init(a, &rows, &cols, &count);show(a, count);printf("\n");zhuanzhi(a, b);show(b, count);return 0;
}


http://www.ppmy.cn/server/151647.html

相关文章

DePIN潜力项目Spheron解读:激活闲置硬件,赋能Web3与AI

DePIN赛道作为今年加密资本关注的热点之一&#xff0c;不仅吸引了大量资金涌入&#xff0c;还凭借其灵活的资源调配、高效的运作方式和可靠的安全性能&#xff0c;逐渐渗透到多个领域和项目中。例如&#xff0c;Helium的无线网络协议、IoTeX的去中心化物联网、IO NET的去中心化…

Spring Boot 声明式事务

Spring Boot中的声明式事务管理主要通过Transactional注解来实现。以下是Transactional注解的一些关键用法和特性&#xff1a; 1. 启用事务管理 在Spring Boot应用中使用Transactional注解之前&#xff0c;需要在启动类或者配置类上添加EnableTransactionManagement注解来启用事…

SQL或ORM获取随机一行数据

MySQL 使用ORDER BY RAND()结合LIMIT来实现。例如,有一个名为employees的表,要从中随机获取一行数据,可以使用以下语句: SELECT * FROM employees ORDER BY RAND() LIMIT 1; 使用order_by(?) 在 Django 中,可以使用order_by(?)来对查询集进行随机排序,然后取第一条数…

Python构造方法:对象的“开机启动程序”

在Python中&#xff0c;构造方法&#xff08;__init__&#xff09;是一个类的“生命之初”&#xff0c;定义了每个对象从“出生”到“投入使用”的整个初始化过程。那既然类里可以直接写属性&#xff0c;为什么还需要构造方法呢&#xff1f; 构造方法的核心作用&#xff1a;创…

搭建MongoDB

title: 搭建MongoDB date: 2024-11-30 23:30:00 categories: - 服务器 tags: - MongoDB - 大数据搭建MongoDB 环境&#xff1a;Centos 7-2009 1. 创建MongoDB的国内yum源 # 下载Centos7对应最新版7.0.15的安装包 cat >> /etc/yum.repos.d/mongodb.repo << &quo…

生态学研究中,森林生态系统的结构、功能与稳定性是核心研究

在生态学研究中&#xff0c;森林生态系统的结构、功能与稳定性是核心研究内容之一。这些方面不仅关系到森林动态变化和物种多样性&#xff0c;还直接影响森林提供的生态服务功能及其应对环境变化的能力。森林生态系统的结构主要包括物种组成、树种多样性、树木的空间分布与密度…

Docker 部署 新版 Nacos、Seata

Docker 部署 新版 Nacos、Seata 版本说明 名称版本号Nacos2.4.3Seata2.0.0 Nacos 启动容器 # MODEstandalone 系统启动方式: 单机 # NWEzYzdkNmMtZjQ5Ny00ZDY4LWE3MWEtMmU1ZTMzNDBiM2Nh 为 5a3c7d6c-f497-4d68-a71a-2e5e3340b3ca 的Base64 编码表示,可以修改&#xff0c;…

Linux -- 线程控制相关的函数

目录 pthread_create -- 创建线程 参数 返回值 代码 -- 不传 args&#xff1a; 编译时带 -lpthread 运行结果 为什么输出混杂&#xff1f; 如何证明两个线程属于同一个进程&#xff1f; 如何证明是两个执行流&#xff1f; 什么是LWP&#xff1f; 代码 -- 传 args&a…