题目1489:计算两个矩阵的乘积

时间限制:1 秒

内存限制:128 兆

特殊判题:

提交:5744

解决:1234

题目描述:

计算两个矩阵的乘积,第一个是2*3,第二个是3*2

输入:

输入为两个矩阵,其中一个为2*3的矩阵,另一个为3*2的矩阵

输出:

一个2*2的矩阵(每一个数字后都跟一个空格)

样例输入:
1 2 3
3 4 5
6 7
8 9
10 11
样例输出:
52 58
100 112
来源:
2012年哈尔滨工业大学计算机研究生机试真题
矩阵乘积的计算是  52 = 1*6+2*8+3*10  58 = 1*7+2*9+3*11 100 = 3*6+4*8+5*10 112 = 3*7+4*9+5*11
即 c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0] i行j列互乘相加

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<stack>
using namespace std;
int c[5][5];
int main()
{
    int a[5][5],b[5][5];
    while(~scanf("%d%d%d",&a[0][0],&a[0][1],&a[0][2]))
    {
        for(int i=1; i<=1; i++)
        {
            for(int j=0; j<=2; j++)
                scanf("%d",&a[i][j]);
        }
        for(int i=0; i<=2; i++)
        {
            for(int j=0; j<=1; j++)
                scanf("%d",&b[i][j]);
        }
        for(int i=0; i<2; i++)
        {
            for(int j=0; j<2; j++)
            {
                c[i][j]=0;
                for(int k=0; k<3; k++)
                    c[i][j] = c[i][j] + a[i][k]*b[k][j];
            }
        }
        for(int i=0; i<2; i++)
        {
            for(int j=0; j<2; j++)
            {
                printf("%d ",c[i][j]);
            }
            printf("\n");
        }
    }
    return 0;
}

时间: 2024-11-03 03:25:14

题目1489:计算两个矩阵的乘积的相关文章

@大脑练习: 计算两个矩阵的乘积

题目1489:计算两个矩阵的乘积时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:134 解决:25 题目描述: 计算两个矩阵的乘积,第一个是2*3,第二个是3*2 输入: 输入为两个矩阵,其中一个为2*3的矩阵,另一个为3*2的矩阵 输出: 一个2*2的矩阵(每一个数字后都跟一个空格) 样例输入: 1 2 3 3 4 5 6 7 8 9 10 11样例输出: 52 58 100 112来源: 2012年哈尔滨工业大学计算机研究生机试真题 [cpp] /****************

手把手教你用Execel计算两个矩阵的乘法

Excel中有很多执行线性代数运算的函数,只要轻点鼠标,各种计算都手到擒来.但是使用这些函数在操作上其实还是有点trick的,今天我们就来演示一下如何在Excel中执行两个矩阵的乘法. 假设我们现在有这样两个矩阵 注意根据线性代数的知识: (1)矩阵A×B 和B×A是不同的: (2)其次,如果矩阵A的大小是 m×n, 矩阵B的大小必须是 n×k,那么A×B 的计算才能执行,而且结果矩阵的大小应该是m×k,其中m和k的值可以相等,也可以不相等. 所以下面我们首先在EXCEL中将这两个矩阵输入,如下

连载6:利用卷积计算两个信号的乘积

计算矩阵的乘积

问题: 编写程序,计算两矩阵a与b的乘积,并输出结果 分析: 根据两矩阵相乘的规则,矩阵a的列数应与矩阵b的行数相同.若a是4行3列矩阵,b是3行2列矩阵,设乘积为c,则c是4行两列矩阵,由于数学上的矩阵恰好和C语言上二维数组相对应,因此本例说明三个二维数组变量,其所分配的存储空间恰好可以存放a.b.c三个矩阵所有的元素值,为简便计,不妨设矩阵元素为整型数值,矩阵a.b的元素值均由键盘输入,为增强直观性,希望所输入的数据以及输出的结果数据形式均与矩阵的书写顺序相对应,,即各矩阵按行列左右分开.上

opencv计算矩阵与数值的乘积,矩阵与矩阵的乘积

1.矩阵与数值的乘积 在进行数组与一个常量相乘的运算时,使用了Mat类中的mul函数. //! per-element matrix multiplication by means of matrix expressions MatExpr mul(InputArray m, double scale=1) const; 使用后,发现数据有些异常,于是就打印出每一个计算后的数值, 发现原来该函数是将,m中矩阵每个元素先做二次方运算,再与scale相乘,于是放弃用该函数,改用 //! comput

OpenCV,计算两幅图像的单应矩阵

平面射影变换是关于其次3维矢量的一种线性变换,可以使用一个非奇异的$3 \times 3$矩阵H表示,$X' = HX$,射影变换也叫做单应(Homography).计算出两幅图像之间的单应矩阵H,那么应用这个关系可以将一个视图中的 所有点变换到另一个视图中. 上图,最右边图像是将最左边图像进行了一次射影变换,变换到中间图像视图后的图像. 使用OpenCV可以调用库函数findHomography计算两幅图像的单应矩阵,其声明如下 Mat findHomography(InputArray sr

机器学习-文本数据-文本的相关性矩阵 1.cosing_similarity(用于计算两两特征之间的相关性)

函数说明: 1. cosing_similarity(array)   输入的样本为array格式,为经过词袋模型编码以后的向量化特征,用于计算两两样本之间的相关性 当我们使用词频或者TFidf构造出词袋模型,并对每一个文章内容做词统计以后, 我们如果要判断两个文章内容的相关性,这时候我们需要对数字映射后的特征做一个余弦相似度的匹配:即a.dot(b) / sqrt(a^2 + b^2) 在sklearn中使用metrics.pairwise import cosine_similarity 代

java计算两个n阶矩阵相乘

自己是个新手,研究java数据结构,看到两个n阶矩阵相乘的题目,自己就试着写了一个简单的demo,哪里有不好的地方,也希望大家多提提意见,直接上代码了: package com.shujujiegou01; public class JuZhenChengFa { // 计算两个N阶矩阵相乘 public static void squareMult(int[][] a, int[][] b, int[][] c, int n) { for (int i = 0; i < n; i++) { f

九度oj 题目1391:顺时针打印矩阵

题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入的第一行包括两个整数m和n(1<=m,n<=1000):表示矩阵的维数为m行n列. 接下来的m行,每行包括n个整数,表示矩阵的元素,其中每个元素a的取值范围为(1&l