zoukankan      html  css  js  c++  java
  • @大脑练习: 计算两个矩阵的乘积

    题目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] 
    /*********************************  
    *   日期:2013-3-4 
    *   作者:SJF0115  
    *   题号: 九度OJ 题目1489:计算两个矩阵的乘积 
    *   来源:http://ac.jobdu.com/problem.php?pid=1489 
    *   结果:AC  
    *   来源:2012年哈尔滨工业大学计算机研究生机试真题 
    *   总结:  
    **********************************/   
    #include<stdio.h>   
    #include<stdlib.h>   
    #include<string.h>   
      
    int Matrix[2][3];  
    int Matrix2[3][2];  
      
    int main () {  
        int i,j,k;  
        int row = 2,col = 3;  
        while(scanf("%d %d %d",&Matrix[0][0],&Matrix[0][1],&Matrix[0][2]) != EOF){  
            int Matrix3[2][2] = {0};  
            //输入第一个矩阵   
            for(i = 1;i < row;i++){  
                for(j = 0;j < col;j++){  
                    scanf("%d",&Matrix[i][j]);  
                }  
            }  
            //输入第二个矩阵   
            for(i = 0;i < col;i++){  
                for(j = 0;j < row;j++){  
                    scanf("%d",&Matrix2[i][j]);  
                }  
            }  
            //相乘   
            for(i = 0;i < row;i++){  
                for(j = 0;j < row;j++){  
                    for(k = 0;k < col;k++){  
                        Matrix3[i][j] += Matrix[i][k] * Matrix2[k][j];  
                    }  
                }  
            }  
              
            //输出   
            for(i = 0;i < row;i++){  
                for(j = 0;j < row;j++){  
                    printf("%d ",Matrix3[i][j]);  
                }  
                printf(" ");  
            }  
        }  
        return 0;  
    }  
     
    /********************************* 
    *   日期:2013-3-4
    *   作者:SJF0115 
    *   题号: 九度OJ 题目1489:计算两个矩阵的乘积
    *   来源:http://ac.jobdu.com/problem.php?pid=1489
    *   结果:AC 
    *   来源:2012年哈尔滨工业大学计算机研究生机试真题
    *   总结: 
    **********************************/ 
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
     
    int Matrix[2][3];
    int Matrix2[3][2];
     
    int main () {
    int i,j,k;
    int row = 2,col = 3;
    while(scanf("%d %d %d",&Matrix[0][0],&Matrix[0][1],&Matrix[0][2]) != EOF){
    int Matrix3[2][2] = {0};
    //输入第一个矩阵
    for(i = 1;i < row;i++){
    for(j = 0;j < col;j++){
    scanf("%d",&Matrix[i][j]);
    }
    }
    //输入第二个矩阵
    for(i = 0;i < col;i++){
    for(j = 0;j < row;j++){
    scanf("%d",&Matrix2[i][j]);
    }
    }
    //相乘
    for(i = 0;i < row;i++){
    for(j = 0;j < row;j++){
    for(k = 0;k < col;k++){
    Matrix3[i][j] += Matrix[i][k] * Matrix2[k][j];
    }
    }
    }
     
    //输出
    for(i = 0;i < row;i++){
    for(j = 0;j < row;j++){
    printf("%d ",Matrix3[i][j]);
    }
    printf(" ");
    }
    }
        return 0;
    }
  • 相关阅读:
    Oracle面试题目及解答
    java -jar Incompatible argument to function
    plsql 查询到别的用户下面的表
    redis数据类型[string 、list 、 set 、sorted set 、hash]
    redis-cli 常用命令
    js判断浏览器,包括Edge浏览器
    HTMl5的sessionStorage和localStorage
    JS实现密码加密
    sprintf.js
    js-crc32
  • 原文地址:https://www.cnblogs.com/ysdu/p/4849704.html
Copyright © 2011-2022 走看看