矩阵转置        ‌‍‎‏

矩阵转置

      • C语言代码
      • C++ 语言代码
      • Java语言代码
      • Python语言代码


💐The Begin💐点点关注,收藏不迷路💐

输入一个n行m列的矩阵A,输出它的转置 A T A^T AT

输入

第一行包含两个整数n和m,表示矩阵A的行数和列数。1 <= n <= 100,1 <= m <= 100。
接下来n行,每行m个整数,表示矩阵A的元素。相邻两个整数之间用单个空格隔开,每个元素均在1~1000之间。

输出

m行,每行n个整数,为矩阵A的转置。相邻两个整数之间用单个空格隔开。

样例输入

3 3
1 2 3
4 5 6
7 8 9

样例输出

1 4 7
2 5 8
3 6 9

先获取矩阵的行数和列数,接着读取原矩阵的元素内容,然后按照矩阵转置的规则(即将原矩阵的行元素变为转置矩阵的列元素,原矩阵的列元素变为转置矩阵的行元素)来构建转置矩阵,最后按照要求的格式输出转置后的矩阵。

C语言代码

#include <stdio.h>int main() {int n, m;scanf("%d %d", &n, &m);  // 读取矩阵的行数n和列数mint matrix[n][m];  // 定义二维数组存储原矩阵元素int transpose[m][n];  // 定义二维数组存储转置后的矩阵元素// 1. 读取原矩阵元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {scanf("%d", &matrix[i][j]);  // 逐行逐列读取原矩阵元素}}// 2. 进行矩阵转置操作,将原矩阵元素赋值到转置矩阵对应位置for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {transpose[j][i] = matrix[i][j];  // 原矩阵的第i行第j列元素赋值到转置矩阵的第j行第i列}}// 3. 输出转置后的矩阵for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {printf("%d ", transpose[i][j]);  // 逐行逐列输出转置矩阵元素}printf("\n");}return 0;
}

C++ 语言代码

#include <iostream>
using namespace std;int main() {int n, m;cin >> n >> m;  // 输入矩阵的行数n和列数mint matrix[n][m];  // 创建二维数组存储原矩阵元素int transpose[m][n];  // 创建二维数组存储转置后的矩阵元素// 1. 输入原矩阵元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {cin >> matrix[i][j];  // 逐行逐列输入原矩阵元素}}// 2. 执行矩阵转置,把原矩阵元素按规则赋给转置矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {transpose[j][i] = matrix[i][j];  // 原矩阵的第i行第j列元素给到转置矩阵的第j行第i列}}// 3. 输出转置后的矩阵for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {cout << transpose[i][j] << " ";  // 逐行逐列输出转置矩阵元素}cout << endl;}return 0;
}

Java语言代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();  // 获取矩阵的行数nint m = scanner.nextInt();  // 获取矩阵的列数mint[][] matrix = new int[n][m];  // 定义二维数组存储原矩阵元素int[][] transpose = new int[m][n];  // 定义二维数组存储转置后的矩阵元素// 1. 读取原矩阵元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {matrix[i][j] = scanner.nextInt();  // 逐行逐列读取原矩阵元素并存入数组}}// 2. 进行矩阵转置,将原矩阵元素按对应位置赋给转置矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {transpose[j][i] = matrix[i][j];  // 原矩阵的第i行第j列元素赋值到转置矩阵的第j行第i列}}// 3. 输出转置后的矩阵for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {System.out.print(transpose[i][j] + " ");  // 逐行逐列输出转置矩阵元素}System.out.println();}}
}

Python语言代码

n, m = map(int, input().split())  # 获取输入矩阵的行数n和列数m
matrix = [list(map(int, input().split())) for _ in range(n)]  # 获取原矩阵元素,构建二维列表transpose = [[matrix[j][i] for j in range(n)] for i in range(m)]  # 使用列表推导式进行矩阵转置操作# 输出转置后的矩阵
for row in transpose:print(" ".join(map(str, row)))  # 将每行的整数列表转换为字符串,用空格连接后输出

在这里插入图片描述


💐The End💐点点关注,收藏不迷路💐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/888494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT 1到4代的演进笔记

1. GPT-1 标题是 Improving Language Understanding by Generative Pre-Training. 发表于 2018.02, 比 bert(发布于 2018.10) 早了半年. 1.1 动机 困难:NLU 任务是多样的, 有 {textual entailment, question answering, semantic similarity assessment, document classifica…

JDK17 下载与安装

下载安装包 针对不同的操作系统, 需要下载对应版本的 JDK. 如果电脑是 Windows32 位的, 建议重装系统, 重装成 64 位的操作系统. 因为 Java 从 9 版本开始, 就已经不提供 32 位版本的安装包了. 官网下载 官网下载链接 需要登录 Oracle 账号才能下载. 账号: 2872336204qq.c…

51c视觉~YOLO~合集4

我自己的原文哦~ https://blog.51cto.com/whaosoft/12512597 1、Yolo8 1.1、检测PCB元件 技术世界正在以惊人的速度发展&#xff0c;而这种转变的核心是一个革命性的工具 — 计算机视觉。它最有趣的应用之一是电子印刷电路板 &#xff08;PCB&#xff09; 的检测和分析。本文…

python学习笔记15 python中的类

上一篇我们介绍了python中的库 &#xff0c;学习了一些常见的内置库。详细内容可点击–>python学习笔记14 python中的库&#xff0c;常见的内置库&#xff08;random、hashlib、json、时间、os&#xff09; 这一篇我们来看一下python中的类 创建一个类 class 类的名称():de…

Python库常用函数-数据分析

Python库常用函数 1.pandas库 &#xff08;1&#xff09;数据读取与写入 读取 CSV 文件&#xff1a; data pd.read_csv(file.csv)读取 Excel 文件&#xff1a; data pd.read_excel(file.xlsx, sheet_nameSheet1)写入 CSV 文件&#xff1a; data.to_csv(new_file.csv, ind…

RabbitMQ消息可靠性保证机制5--消息幂等性处理

RabbitMQ层面有实现“去重机制”来保证“恰好一次”吗&#xff1f;答案是没并没有&#xff0c;而且现在主流的消息中间件都没有实现。 一般解决重复消息的办法是&#xff1a;在消费端让我们消费消息操作具有幂等性。 幂等性问题并不是消息系统独有&#xff0c;而是&#xff0…

Day28 买卖股票的最佳时机 跳跃游戏 跳跃游戏 II K 次取反后最大化的数组和

贪心算法 part02 122. 买卖股票的最佳时机 II - 力扣&#xff08;LeetCode&#xff09; 求最大利润 将每天的正利润加和 public int maxProfit(int[] prices) {int totalPrices 0;for(int i0;i<prices.length;i){if(i<prices.length-1&&prices[i1]>prices[…

MINDAGENT:游戏交互中的新兴性设计

一、摘要 1.问题/研究背景 LLM具有在多智能体系统中执行复杂调度的能力&#xff0c;并可以协调这些代理以完成需要广泛合作的复杂任务。 但是&#xff0c;目前还没有一个标准的游戏场景和相关的测试指标来评估 LLM 在游戏中的表现以及与人类玩家的合作能力。 2.研究目标/动…

洛谷P1827 [USACO3.4] 美国血统 American Heritage(c嘎嘎)

题目链接&#xff1a;P1827 [USACO3.4] 美国血统 American Heritage - 洛谷 | 计算机科学教育新生态 题目难度&#xff1a;普及 首先介绍下二叉树的遍历&#xff1a; 学过数据结构都知道二叉树有三种遍历&#xff1a; 1.前序遍历&#xff1a;根左右 2.中序遍历&#xff1a;左根…

『数据结构』空间复杂度

&#x1f6a9; WRITE IN FRONT &#x1f6a9; &#x1f50e; 介绍&#xff1a;"謓泽"正在路上朝着"攻城狮"方向"前进四" &#x1f50e;&#x1f3c5; 荣誉&#xff1a;2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

这就是AOP

AOP AOP(Aspect Oriented Programming,面向切面编程)是一种编程范式,它的目的是通过分离横切关注点(cross-cutting concerns)来提升代码的模块化程度,AOP 的概念最早是由 Xerox PARC 提出的,它并非站在 OOP 的对立面,而是对 OOP 的一个很好的补充。Spring Framework …

多模态COGMEN详解

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

STM32 进阶 定时器3 通用定时器 案例2:测量PWM的频率/周期

需求分析 上一个案例我们输出了PWM波&#xff0c;这个案例我们使用输入捕获功能&#xff0c;来测试PWM波的频率/周期。 把测到的结果通过串口发送到电脑&#xff0c;检查测试的结果。 如何测量 1、输入捕获功能主要是&#xff1a;测量输入通道的上升沿和下降沿 2、让第一个…

重生之我在异世界学编程之C语言:操作符篇

大家好&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 本文目录 引言正文1. 算术操作符2. 关系&#xff0…

STM32 进阶 定时器 2基本定时器 基本定时器中断案例:LED闪烁

基本定时器 基本定时器TIM6和TIM7各包含一个16位自动装载计数器&#xff0c;由各自的可编程预分频器驱动。 这2个定时器是互相独立的&#xff0c;不共享任何资源。 这个2个基本定时器只能向上计数&#xff0c;由于没有外部IO&#xff0c;所以只能计时&#xff0c;不能对外部…

git 常见使用

在使用 git 时&#xff0c;可以通过以下命令更新和拉取远程仓库的最新代码&#xff1a; 基本步骤 确保在正确的分支&#xff1a; 检查当前所在分支&#xff1a; git branch如果需要切换到其他分支&#xff1a; git checkout 分支名更新远程仓库信息&#xff1a; 拉取远程仓库的…

部门管理系统Spring AOP实现日志记录接口案例开发

需求分析 在开发过程中&#xff0c;为了记录系统操作行为&#xff0c;我们通常需要实现操作日志功能。本案例要求对系统中增、删、改等接口的操作日志记录到数据库表中&#xff0c;具体需求包括&#xff1a; 日志内容&#xff1a; 操作人&#xff08;从请求头中的 Token 中解析…

OpenVas安装步骤及报错问题

安装步骤 1、更新系统 apt update && apt upgrade && apt dist-upgrade 2、安装openvas apt-get install openvas 3、初始化 gvm-setup 时间要很久 4、检查安装结果 gvm-check-setup 安装成功 5、设置用户名和密码&#xff0c;都为admin sudo runuse…

深度学习之pth转换为onnx时修改模型定义‌

文章目录 概述实现步骤python代码 概述 在将PyTorch模型&#xff08;.pth文件&#xff09;转换为ONNX格式时&#xff0c;通常的转换过程是通过torch.onnx.export函数来实现的。这个过程主要是将PyTorch模型的计算图导出为ONNX格式&#xff0c;以便在其他框架或环境中使用。 在…

STL算法之sort

STL所提供的各式各样算法中&#xff0c;sort()是最复杂最庞大的一个。这个算法接受两个RandomAccessIterators(随机存取迭代器)&#xff0c;然后将区间内的所有元素以渐增方式由小到大重新排列。还有一个版本则是允许用户指定一个仿函数代替operator<作为排序标准。STL的所有…