矩阵乘法(简单)
Description
N*P阶的矩阵A与P*M阶的矩阵B的乘积C是一个N*M阶的矩阵。C的任何一个元素Cij的值为A的矩阵的第i行和B矩阵的第j列的P个对应元素的乘积之和,即
其中p为A矩阵的列数,也是B矩阵的行数,又称为两个相乘矩阵的内阶数。两矩阵相乘的必要条件是内阶数相等。限定2<=i,j,p<=5
Input
输入文件第一行包含3个整数N,P,M(2<=N,P,M<=5),每两个数间有一空格。
接下来的N行,每行P个整数,第i+1行的第j个整数表示A[i][j]的值,每两个数间有一空格。
接下来的P行,每行M个整数,第i+N+1行的第j个整数表示B[i][j]的值,每两个数间有一空格。
Output
输出文件共N行,每行M个整数,每两个数间有一空格。
第i行第j个整数表示C[i][j]的值
Sample Input
3 3 3
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
Sample Output
3 3 3
3 3 3
3 3 3
Source
习题05-03
问题分析:
这个题目不是n阶矩阵的算法,所以事实上是相当简单的。只需要好好利用矩阵乘法的原理,用个三重循环即可计算出最终结果。由于题目的规模是相当小的,所以可以直接三重循环。
解决方案:
使用一个sum值,记录每次计算出的乘积。进行一个累加即可算出最终矩阵相乘的结果。具体可见程序实现。
参考程序:
//**********************************
//Author: GWL
//Date: 2010-12-09
//**********************************
#include <stdio.h>
#include <memory.h>
int main()
{
int N,P,M,sum;
scanf("%d %d %d",&N,&P,&M);
if((N>=2&&N<=5)&&(M>=2&&M<=5)&&(P>=2&&P<=5)) //Valiable
{
int A[6][6],B[6][6],C[6][6];
int i,j,k;
for(i=0;i<N;i++) //input A
{
for(j=0;j<P-1;j++)
{
scanf("%d ",&A[i][j]);
}
scanf("%d",&A[i][j]);
}
for(i=0;i<P;i++) //input B
{
for(j=0;j<M-1;j++)
{
scanf("%d ",&B[i][j]);
}
scanf("%d",&B[i][j]);
}
memset(C,0,sizeof(C)); //init C
for(i=0;i<N;i++)
for(k=0;k<P;k++)
for(j=0;j<M;j++) //cal C
{
sum=A[i][k]*B[k][j];
C[i][j]=C[i][j]+sum;
}
for(i=0;i<N;i++) //output
{
for(j=0;j<M;j++)
printf("%d ",C[i][j]);
printf("\n");
}
}
return 0;
}
常见问题:
1.输出时候的换行问题
2.对C数组的清空问题
分享到:
相关推荐
RUC_Equip 数据库课程设计,以学生、老师、仪器辅导员三种身份参与的大型仪器预约管理平台。 项目实现使用python3.7, mysql,Django, 其中 $Mysql$ 数据库部分使用 $\text{phpmyadmin}$ 进行图形页面管理。数据库...
中国人民大学大型仪器管理平台 RUC_InsManagement一、Introduction本项目为数据库课程设计的前期demo版本,主要包括了该项目的前端设计、交互控制等内容。项目内容大致完整,基本只需要简单的命令就能够上手跑起这个...
Validador RUC和DNI客户和被证明者: * Nuevo campo "tipo de documento"* Validacion RUC y DNI相依性: $ sudo apt-get install tesseract-ocr tesseract-ocr-eng python-imaging python-pip python-bs4 $ sudo ...
以AIROBOT为平台构建的一个智能机器人。主源码见main.c。其余为使用的函数接口定义
RUC Validation. For purposes of control, in Peru, public and private enterprises are identified by a Taxpayer Registration Number-RUC. For this reason it is of much value to accounting or financial ...
汇编语言人大的讲义绝对真实RUC汇编语言人大的讲义绝对真实RUC汇编语言人大的讲义绝对真实RUC汇编语言人大的讲义绝对真实RUC
塞杜拉和厄瓜多尔RUC的验证人 开发此小程序包可以轻松验证: 身份证 自然人的RUC 私人公司的RUC 上市公司的RUC 介绍 对于这种包装的发展,以下库通过创建已被作为一个基础,它已被修改,以便它是安装通过作曲家...
ruc-beamer-模板 用于 RUC 的乳胶投影仪模板。 如何使用 latexmk -xelatex -use-make example.tex 或者, xelatex example.tex 截图 依赖关系 特克斯 雅黑字体 关于作者
巴拿马电视用于为巴拿马计算给定RUC的DV的程序。 见 用法: #!/usr/bin/env python2 import sys import argparse import ruc parser = argparse . ArgumentParser ( description = 'DV calculator' ) parser . add_...
API Consulta Ruc y Dni-秘鲁 API顾问DNI和RUC-秘鲁,empleando软件包。 Requerimientos PHP 7.3或更高。 安装 码头工人 使用镜像 docker run -d -p 8080:8080 --name peru-consult -e API_TOKEN=your_key ...
Ruc验证 允许为秘鲁业务验证ruc 使用npm或bower安装 npm install validate-ruc --save bower install validate-ruc --save 从Node.js或浏览器使用 var ruc = require('validate-ruc'); [removed][removed] var ...
jQuery插件,用于验证厄瓜多尔ID或RUC jQuery插件,用于验证厄瓜多尔ID或RUC。 :warning: 该库已有一段时间没有得到积极维护。 但是,请求请求是欢迎的。如何使用jQuery [removed][removed] JavaScript库: [removed...
Java语言游戏项目实战资源包 内容概览: 这次分享为你带来了丰富的Java语言游戏项目实战资源,让你在实践中深入掌握Java语言,并开启游戏开发之旅。资源包中包括: 游戏项目代码:精心挑选了多个经典的小游戏项目...
在SUNAT中咨询RUC。 安装软件包 npm install 运行服务器 npm start node app.js 请愿 http://localhost:3000/ 要求POST: { " ruc " : " 20254138577 " } 回复: [ { " name " : " Número de RUC: " , " ...
基于elasticsearch+django+bootstrap的类案检索系统。现阶段仅能从RUC校园网访问 Environments elasticsearch==8.4.1 django==4.0.3 bootstrap==5.1.3
2017年中国综合社会调查(CGSS),数据为csv格式,下载自官网(httpcgss.ruc.edu.cnindex.htm),仅作练习数据使用,禁止商用及传播。
多媒体大数据分析研究进展综述导读 自然语言生成、深度学习算法、多媒体大数据分析,今天为大家详细介绍下多媒体大数据分析综述这篇文章。
RUC Rust Util Collection,一个简单而友好的error-chain ,另外还添加了许多有用的utils。 使用error-chain的痛苦经历催生了这个项目。 它可以适应几乎所有场景,而无需任何特殊实现。 文件资料 make doc 用法 ...
RUC at TREC 2014: Select Resources Using Topic Models