当前位置: 首页 > 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…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...