码迷,mamicode.com
首页 > 其他好文 > 详细

矩阵乘法

时间:2016-08-16 13:18:16      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

题目描述

  • 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的:

输入描述:

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

输出描述:

输出两个矩阵相乘的结果

输入例子:
2
2
2
3 8
8 0
9 0
18 9
输出例子:
171 72
72 0
技术分享
 1 import java.util.*;
 2 
 3 public class Main{
 4     public static void main(String[] args) {
 5     Scanner sc = new Scanner(System.in);
 6         while(sc.hasNext()){
 7             int x = sc.nextInt();
 8             int y = sc.nextInt();
 9             int z = sc.nextInt();
10             int[][] arr1 = new int[x][y];
11             int[][] arr2 = new int[y][z];
12             int[][] arr3 = new int[x][z];
13                 for(int i=0;i<x;i++){
14                     for(int j=0;j<y;j++){
15                        arr1[i][j]=sc.nextInt();
16                     }
17                 }
18                 for(int i=0;i<y;i++){
19                     for(int j=0;j<z;j++){
20                        arr2[i][j]=sc.nextInt();
21                     }
22                 }
23                 for(int i=0;i<x;i++){
24                     for(int j=0;j<z;j++){
25                         for(int k=0;k<y;k++){
26                             arr3[i][j] += arr1[i][k]*arr2[k][j];
27                         }
28                         //行末最后一个元素要换行
29                         if(j!=z-1)
30                             System.out.print(arr3[i][j]+" ");
31                         else
32                             System.out.println(arr3[i][j]);
33                 }
34             }
35         }
36     }
37 }
View Code

 

矩阵乘法

标签:

原文地址:http://www.cnblogs.com/lydandan/p/5775988.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!