首页 > 编程语言 >C++矩阵乘法

C++矩阵乘法

时间:2024-10-25 15:49:39浏览次数:3  
标签:输出 int 矩阵 C++ ii 输入 1001 乘法

题目描述

计算两个矩阵的乘法。n×m 阶的矩阵 A 乘以 m×k 阶的矩阵 B 得到的矩阵 C 是 n×k 阶的,且 C[i][j]=A[i][0]×B[0][j]+A[i][1]×B[1][j]+C[i][j]=A[i][0]×B[0][j]+A[i][1]×B[1][j]+ …… +A[i][m−1]×B[m−1][j](C[i][j]+A[i][m−1]×B[m−1][j](C[i][j] 表示 C 矩阵中第 i 行第 j 列元素)。

输入格式

第一行为 n,m,k表示 A 矩阵是 n 行 m 列,B 矩阵是 m 行 k 列,n,m,k均小于 100。

然后先后输入 A 和 B 两个矩阵,A 矩阵 n 行 m 列,B 矩阵 m 行 kk 列,矩阵中每个元素的绝对值不会大于 1000。

输出格式

输出矩阵 C,一共 n 行,每行 k 个整数,整数之间以一个空格分开。

输入输出样例

输入 #1

3 2 3
1 1
1 1
1 1
1 1 1
1 1 1

输出 #1

2 2 2
2 2 2
2 2 2

代码如下:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,m,k;
	int a[1001][1001],b[1001][1001],c[1001][1001];
	cin>>n>>m>>k;
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			cin>>a[i][j];
		}
	}
	for(int i=0;i<m;i++){
		for(int j=0;j<k;j++){
			cin>>b[i][j];
		}
	}
	for(int ii=0;ii<n;ii++){
		for(int jj=0;jj<k;jj++){
			int s=0;
			for(int k=0;k<m;k++){
				s+=a[ii][k]*b[k][jj];
			}
			c[ii][jj]=s;
		}
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<k;j++){
			cout<<c[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
} 

标签:输出,int,矩阵,C++,ii,输入,1001,乘法
From: https://blog.csdn.net/Annconda/article/details/143236309

相关文章

  • C++入门基础
    少年不惧岁月长,彼方尚有荣光在。  前言 这是我自己学习C++的第一篇博客总结。后期我会继续把C++学习笔记开源至博客上。C++的兼容性1.C++兼容绝大多数C语言的语法,因此只需要把.c后缀文件改为.cpp即可。 VS编译器看到是.cpp就会调用C++编译器编译。#define......
  • Go语言和C++在内存管理上的比较
    #Go语言和C++在内存管理上的比较在探讨Go语言和C++在内存管理上的比较时,我们可以从几个核心观点进行分析:自动内存管理、性能、安全性。在这些核心方面,Go语言通过其垃圾回收机制提供了相对于C++更为自动化的内存管理方式,这一点在开发大型应用时尤为重要。自动内存管理是Go语言......
  • VS Code 配置 C/C++ 开发环境
     一、下载编译工具MinGWgithub上的版本更新较快github 配置系统环境,并验证 二、VSCode 1、VSCode 安装C/C++相关扩展2.VSCode添加编译器、并运行调试Ctrl+Shift+p 进入C/C++编辑配置,修改编译器目录 运行1.cpp 执行 ......
  • 【31】C++项目练习
    定义一个类Book,用来描述新书, 具有以下功能:查看当前价格.查看当前的书号定义一个类SellBook,用来表示促销的书籍, 要求继承自Book类具有以下功能:查看当前折扣设置当前折扣查看当前的促销价格下面是我自编的代码Book类 .h#pragmaonce#include<string>usi......
  • C++宏和函数的比较
    在上一篇随笔中,我提到宏和函数是很相似的,那么在这篇中我会通过实例来体会宏和函数的异同。实例:分别用函数和带参的宏,从三个数中找出最大的数代码:点击查看代码#include<bits/stdc++.h>usingnamespacestd;#defineCom(a,b,c){printf("%.3f\n",max(a,max(b,c)));}voidcomp......
  • C++宏的入门
    今天简单使用了宏,也对宏有了一定的了解,见解如下:简单宏的定义:#definePI3.14像上述便是非常简单且便于理解的一个例子,通常将宏的定义置于头文件的引用后。我对宏的理解更像是一个优先级较高的函数,具体可通过下面的一个例子展现:点击查看代码#include<bits/stdc++.h>#define......
  • 护照如何查验真伪?C++护照查验接口示例、护照文字识别、身份验证
    在当下全球化加速、出入境需求激增的背景下,护照查验接口作为提升边检效率和保障国民安全的重要技术,正逐渐受到广泛关注。随着全球旅游业的复苏和国际商务交流的频繁,如何更高效、智能地完成护照查验成为了政府和企业的关键任务。数字化政务正在全球范围内成为趋势,护照查验......
  • C++
    C++C++11using1.相比与typedef,using在定义函数指针时更加直观usingfunc_ptr1=int(*)(int,double);2.using可以为模板起别名template<typenameT>usingmymap=map<int,T>;3.使用using来引入整个命名空间或某个特定的名字,可以简化代码书写usingnamespacestd;......
  • C++中声明和定义的注意事项
    前言:最近学习完C++的一些基本知识之后,开始了C++核心编程内容的学习。学习到了类和对象的部分。其中,在昨天学到友元的时候,遇到了一个问题,我就写了两个类,只不过这次把类的成员函数的实现写在了类外。本来想着的是,反正后面学习会把声明和定义分开写成.h和.cpp文件,就寻思先试试把定......
  • C++左移运算符重载的理解
    最近学习C++学到了运算符重载的部分,大部分运算符重载都就可以实现作为类中成员函数和全局函数进行重载实现,而左移运算符“<<”却只支持全局函数进行重载。这是是为什么呢?我来谈谈我的理解。大家首先随便用cout输出一下,然后点击cout然后右键选择转到声明:我们会看到如下图显示......