当前位置: 首页 > news >正文

矩阵加法        ‌‍‎‏

矩阵加法

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


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

输入两个n行m列的矩阵A和B,输出它们的和A+B。

输入

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

输出

n行,每行m个整数,表示矩阵加法的结果。相邻两个整数之间用单个空格隔开

样例输入

3 3
1 2 3
1 2 3
1 2 3
1 2 3
4 5 6
7 8 9

样例输出

2 4 6
5 7 9
8 10 12

提示

输入两个n行m列的矩阵A和B,输出它们的和A+B。

先获取矩阵的行数和列数,然后分别读取两个矩阵的元素,接着通过两层循环遍历矩阵的每个元素位置,将两个矩阵对应位置的元素相加并存入结果矩阵(或列表)中,最后按照矩阵的格式输出相加后的结果矩阵。

C语言代码

#include <stdio.h>int main() {int n, m;scanf("%d %d", &n, &m);  // 读取矩阵的行数n和列数mint matrixA[n][m];  // 定义二维数组来存储矩阵A的元素int matrixB[n][m];  // 定义二维数组来存储矩阵B的元素int result[n][m];  // 定义二维数组来存储矩阵相加的结果// 1. 读取矩阵A的元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {scanf("%d", &matrixA[i][j]);  // 逐行逐列读取矩阵A的元素}}// 2. 读取矩阵B的元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {scanf("%d", &matrixB[i][j]);  // 逐行逐列读取矩阵B的元素}}// 3. 计算矩阵A和矩阵B对应元素相加,得到结果矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {result[i][j] = matrixA[i][j] + matrixB[i][j];  // 对应位置元素相加并存入结果矩阵}}// 4. 输出结果矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {printf("%d ", result[i][j]);  // 逐行逐列输出结果矩阵的元素}printf("\n");}return 0;
}

C++ 语言代码

#include <iostream>
using namespace std;int main() {int n, m;cin >> n >> m;  // 输入矩阵的行数n和列数mint matrixA[n][m];  // 创建二维数组存储矩阵A的元素int matrixB[n][m];  // 创建二维数组存储矩阵B的元素int result[n][m];  // 创建二维数组存储矩阵相加的结果// 1. 输入矩阵A的元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {cin >> matrixA[i][j];  // 逐行逐列输入矩阵A的元素}}// 2. 输入矩阵B的元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {cin >> matrixB[i][j];  // 逐行逐列输入矩阵B的元素}}// 3. 计算矩阵A和矩阵B对应元素相加,得到结果矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {result[i][j] = matrixA[i][j] + matrixB[i][j];  // 将对应位置元素相加,存入结果矩阵}}// 4. 输出结果矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {cout << result[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[][] matrixA = new int[n][m];  // 定义二维数组存储矩阵A的元素int[][] matrixB = new int[n][m];  // 定义二维数组存储矩阵B的元素int[][] result = new int[n][m];  // 定义二维数组存储矩阵相加的结果// 1. 读取矩阵A的元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {matrixA[i][j] = scanner.nextInt();  // 逐行逐列读取矩阵A的元素并存入数组}}// 2. 读取矩阵B的元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {matrixB[i][j] = scanner.nextInt();  // 逐行逐列读取矩阵B的元素并存入数组}}// 3. 计算矩阵A和矩阵B对应元素相加,得到结果矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {result[i][j] = matrixA[i][j] + matrixB[i][j];  // 对应位置元素相加,结果存入结果矩阵}}// 4. 输出结果矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {System.out.print(result[i][j] + " ");  // 逐行逐列输出结果矩阵元素}System.out.println();}}
}

Python语言代码

n, m = map(int, input().split())  // 获取输入的矩阵行数n和列数m
matrixA = [list(map(int, input().split())) for _ in range(n)]  // 获取矩阵A的元素,构建二维列表
matrixB = [list(map(int, input().split())) for _ in range(n)]  // 获取矩阵B的元素,构建二维列表result = []  // 创建一个空列表,用于存储矩阵相加的结果# 计算矩阵A和矩阵B对应元素相加,得到结果矩阵
for i in range(n):row = []  // 为结果矩阵的每一行创建一个空列表for j in range(m):row.append(matrixA[i][j] + matrixB[i][j])  // 对应位置元素相加,添加到当前行列表result.append(row)  // 将当前行列表添加到结果矩阵列表中# 输出结果矩阵
for row in result:print(" ".join(map(str, row)))  // 将每行的整数列表转换为字符串,用空格连接后输出

在这里插入图片描述


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

相关文章:

矩阵加法        ‌‍‎‏

矩阵加法 C语言代码C 语言代码Java语言代码Python语言代码 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 输入两个n行m列的矩阵A和B&#xff0c;输出它们的和AB。 输入 第一行包含两个整数n和m&#xff0c;表示矩阵的行数和列数。1 <…...

yarn : 无法加载文件 E:\node\node_global\yarn.ps1,因为在此系统上禁止运行脚本

先确保安装了yarn —— npm install -g yarn 终端输入set-ExecutionPolicy RemoteSigned 若要在本地计算机上运行您编写的未签名脚本和来自其他用户的签名脚本&#xff0c;请使用以下命令将计算机上的执行策略更改为RemoteSigned 再去使用yarn okk~...

详解C++类与对象(四)

文章目录 1.类型转换1.1 前言1.2 类型转换的性质 2.static成员2.1 前言2.2 static的基本概念 3.友元4.内部类5.匿名对象 1.类型转换 1.1 前言 在C中&#xff0c;由于程序员可以自己显示定义一个新的类。这样就会出现一个问题&#xff1a;程序员自己显示定义的类类型与编译器中…...

Pandas处理和分析嵌套JSON数据:从字符串到结构化DataFrame

在数据分析领域&#xff0c;我们经常遇到需要从非结构化数据中提取有用信息的场景。特别是当数据以JSON字符串的形式出现时&#xff0c;如何有效地将其转换为结构化的表格形式&#xff0c;以便进行进一步的分析和处理&#xff0c;成为了一个常见的挑战。本文将通过一个具体的例…...

【强化学习入门笔记】1.5 贝尔曼最优公式

本系列为学习赵世钰老师的《强化学习的数学原理》所作的学习笔记. 课程视频网址&#xff1a;https://space.bilibili.com/2044042934 1.5.1 定义 1.5.1.1 Contraction mapping theorem (收缩映射定理) fixed point(不动点) 如果 x ∗ x^* x∗满足下式, x ∗ x^* x∗称之为…...

编码问题技术探讨:IDE全局GBK与项目UTF-8引发的中文乱码

在软件开发过程中&#xff0c;编码问题一直是开发者们需要面对和解决的难题之一。尤其是在使用IDE&#xff08;集成开发环境&#xff09;时&#xff0c;如果全局编码设置与项目编码设置不一致&#xff0c;往往会导致中文乱码的问题。本文将深入探讨这一问题的背景、示例以及解决…...

SpringBoot两天

SpringBoot讲义 什么是SpringBoot&#xff1f; Spring Boot是由Pivotal团队提供的全新框架&#xff0c;其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置&#xff0c;从而使开发人员不再需要定义样板化的配置。通过这种方式&#xf…...

自动化立体仓库项目任务调度系统中任务流程可视化实现

在运维自动化平台中,任务系统无疑是最核心的组成部分之一。它承担着所有打包编译、项目上线、日常维护等运维任务的执行。通过任务系统,我们能够灵活地构建满足不同需求的自定义任务流。早期的任务流后端采用了类似列表的存储结构,根据任务流内子任务的排序依次执行,尽管通…...

计算机毕业设计hadoop+spark民宿推荐系统 民宿数据分析可视化大屏 民宿爬虫 民宿大数据 知识图谱 机器学习 大数据毕业设计

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…...

Java中OGNL表达式语言的使用

文章目录 OGNL 介绍OGNL 使用场景- ognl- 主要功能- 注意事项- Ognl类的主要方法- 设置值- 获取值- 使用示例 - MybatisJava原生表达式的使用 - Fastjson- JSONPath类的主要方法- 主要功能- JSONPath的优势- 使用示例 Spring不选择OGNL的原因 OGNL 介绍 OGNL&#xff08;Objec…...

[HCTF 2018]WarmUp-滑稽

启动场景打开链接&#xff0c;出现一下图片 F12查看代码出现一个注释&#xff0c;应该在这个文件中&#xff0c; 进入到该页面&#xff0c;出现一段代码 <?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){$whitelist ["sourc…...

JAVAWeb——maven、SpringBoot、HTTP、Tomcat

目录 1.maven a.概述 b.作用 c.仓库 b.坐标 c.依赖管理 2.SpringBoot 3.HTTP a.概述 b.请求协议 c.响应协议 d.协议解析 4.Tomcat a.Web服务器 b.Tomcat c.SpringBoot与Tomcat关系 1.maven a.概述 Maven是apache旗下的一个开源项目&#xff0c;是一款用于管理…...

【C++】—— set 与 multiset

【C】—— map 与 set 1 序列式容器和关联式容器2 set 系列的使用2.1 set 和 multiset 参考文档2.2 set 类的介绍2.3 set 的迭代器和构造2.4 set的增删查2.4.1 insert2.4.2 find 与 erase2.4.3 count 2.5 lower_bound 与 upper_bound2.6 multiset 与 set 的差异2.6.1 不再去重2…...

蓝桥杯-扫雷

这题不难&#xff0c;就是麻烦一点&#xff0c;这里暴力求解了直接 题目链接&#xff1a; 扫雷 AC代码&#xff1a; import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan ne…...

黑马JavaWeb-day06、07、08(SQL部分) _

文章目录 MYSQL概述数据模型SQL简介SQL分类 DDL数据库操作表操作 DML增&#xff08;INSERT&#xff09;改&#xff08;UPDATE&#xff09;删&#xff08;DELETE&#xff09; DQL基本查询条件查询&#xff08;where&#xff09;分组查询&#xff08;group by&#xff09;排序查询…...

三十五:Wireshark的捕获过滤器

Wireshark 是一个广泛使用的网络协议分析工具&#xff0c;主要用于捕获和分析网络流量。它支持丰富的协议分析&#xff0c;并提供了多种过滤方式&#xff0c;以便用户在大量数据中精确地找到自己关注的内容。在Wireshark中&#xff0c;过滤器可以分为两类&#xff1a;捕获过滤器…...

第9章 大模型的有害性(上)

9.1 引言 本章将探讨大型语言模型&#xff08;LLMs&#xff09;可能带来的有害性&#xff0c;重点讨论以下几个方面&#xff1a; 性能差异社会偏见和刻板印象 在后续内容中&#xff0c;还会涉及其他层面的危害&#xff0c;如有害信息、虚假信息、隐私和安全风险、版权问题、…...

遗传算法与深度学习实战(26)——编码卷积神经网络架构

遗传算法与深度学习实战&#xff08;26&#xff09;——编码卷积神经网络架构 0. 前言1. EvoCNN 原理1.1 工作原理1.2 基因编码 2. 编码卷积神经网络架构小结系列链接 0. 前言 我们已经学习了如何构建卷积神经网络 (Convolutional Neural Network, CNN)&#xff0c;在本节中&a…...

Linux无线网络配置工具:iwconfig vs iw

在Linux系统中&#xff0c;无线网络配置和管理是网络管理员和开发者的常见任务。本文将详细介绍两个常用的无线网络配置命令行工具&#xff1a;iwconfig 和 iw&#xff0c;并对比它们之间的区别&#xff0c;帮助您更好地选择合适的工具进行无线网络配置。 一、iwconfig 简介 …...

RabbitMQ介绍及安装

文章目录 一. MQ二. RabbitMQ三. RabbitMQ作用四. MQ产品对比五. 安装RabbitMQ1. 安装erlang2. 安装rabbitMQ3. 安装RabbitMQ管理界⾯4. 启动服务5. 访问界面6. 添加管理员用户7. 重新登录 一. MQ MQ( Message queue ), 从字⾯意思上看, 本质是个队列, FIFO 先⼊先出&#xff…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...

【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验

Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...

区块链技术概述

区块链技术是一种去中心化、分布式账本技术&#xff0c;通过密码学、共识机制和智能合约等核心组件&#xff0c;实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点&#xff1a;数据存储在网络中的多个节点&#xff08;计算机&#xff09;&#xff0c;而非…...

小智AI+MCP

什么是小智AI和MCP 如果还不清楚的先看往期文章 手搓小智AI聊天机器人 MCP 深度解析&#xff1a;AI 的USB接口 如何使用小智MCP 1.刷支持mcp的小智固件 2.下载官方MCP的示例代码 Github&#xff1a;https://github.com/78/mcp-calculator 安这个步骤执行 其中MCP_ENDPOI…...

Axure零基础跟我学:展开与收回

亲爱的小伙伴,如有帮助请订阅专栏!跟着老师每课一练,系统学习Axure交互设计课程! Axure产品经理精品视频课https://edu.csdn.net/course/detail/40420 课程主题:Axure菜单展开与收回 课程视频:...

欢乐熊大话蓝牙知识17:多连接 BLE 怎么设计服务不会乱?分层思维来救场!

多连接 BLE 怎么设计服务不会乱&#xff1f;分层思维来救场&#xff01; 作者按&#xff1a; 你是不是也遇到过 BLE 多连接时&#xff0c;调试现场像网吧“掉线风暴”&#xff1f; 温度传感器连上了&#xff0c;心率带丢了&#xff1b;一边 OTA 更新&#xff0c;一边通知卡壳。…...