博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
矩阵乘法
阅读量:6083 次
发布时间:2019-06-20

本文共 1986 字,大约阅读时间需要 6 分钟。

hot3.png

题目描述

如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的:原型:voidmatrix_multiply(int *m1,int *m2,int *r, int x, int y, int z);输入参数:    int *m1:x行y列的矩阵(array1[x][y])    int *m2:y行z列的矩阵(array2[y][z])    int x:矩阵m1的行数    int y:矩阵m1的列数/矩阵m2的行数    int z:矩阵m2的列数输出参数:    int *r:矩阵m1, m2相乘的结果(array3[x][z])返回值:    void

输入描述

输入说明:1、第一个矩阵的行数2、第一个矩阵的列数和第二个矩阵的行数3、第二个矩阵的列数4、第一个矩阵的值5、第二个矩阵的值

输出描述

输出两个矩阵相乘的结果

输入例子

2223 88 09 018 9

输出例子

171 7272 0

算法实现

import java.util.Scanner;/** * Declaration: All Rights Reserved !!! */public class Main {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);//        Scanner scanner = new Scanner(Main.class.getClassLoader().getResourceAsStream("data.txt"));        while (scanner.hasNext()) {            int x = scanner.nextInt();            int y = scanner.nextInt();            int z = scanner.nextInt();            int[][] a = new int[x][y];            int[][] b = new int[y][z];            for(int i = 0; i < x; i++) {                for (int j = 0; j < y; j++) {                    a[i][j] = scanner.nextInt();                }            }            for(int i = 0; i < y; i++) {                for (int j = 0; j < z; j++) {                    b[i][j] = scanner.nextInt();                }            }            System.out.println(matrixMultiply(a, b));        }        scanner.close();    }    private static String matrixMultiply(int[][] a, int[][] b) {        StringBuilder builder = new StringBuilder();        for (int i = 0; i < a.length; i++) {            for (int j = 0; j < b[0].length; j++) {                int result = 0;                for (int k = 0; k < a[0].length; k++) {                    result += a[i][k] * b[k][j];                }                builder.append(result).append(' ');            }            builder.setCharAt(builder.length() - 1, '\n');        }        return builder.substring(0, builder.length() - 1);    }}

转载于:https://my.oschina.net/u/2822116/blog/819957

你可能感兴趣的文章
Q85 最大矩形
查看>>
【android】使用handler更新UI
查看>>
mochiweb 源码阅读(十五)
查看>>
前端面试中的常见的算法问题
查看>>
计算机语言的基本理论
查看>>
nodejs流之行读取器例子
查看>>
11本Java好书
查看>>
批量文件重命名工具
查看>>
为什么选用 React 创建混合型移动应用?
查看>>
支付宝app支付
查看>>
GitHub又受攻击了
查看>>
flask权限管理
查看>>
Meteor全栈开发平台 - 不仅仅是前端
查看>>
苹果移除openssl头文件
查看>>
前端碎片知识储备
查看>>
Redisson 成为 GitHub 里星星最多的 Redis Java 客户端
查看>>
C缺陷与陷阱(C Traps and Pitfalls)学习笔记
查看>>
strtr+array_combine实现简单的敏感词过滤
查看>>
域名注册商 GoDaddy 被指悄悄在托管网站页面植入脚本
查看>>
微服务架构 - 巧妙获取被墙的Docker镜像
查看>>