zoukankan      html  css  js  c++  java
  • 【C++小白成长撸】--矩阵乘法程序

    矩阵乘法是大学矩阵课程中,相比矩阵加减法比较困难的部分。

    矩阵乘法的原理:

    矩阵乘法在代码中实现

    得到目标矩阵的一个元素,涉及两个求和符号,一个求和符号一个for循环,两个求和符号两个for循环,再加上是二维数组,再加一个for循环

    以下呈现出代码

    /*程序的版权和版本声明部分:
    **Copyright(c) 2017,电子科技大学本科生三年级学生
    **All rights reserved.
    **文件名:矩阵乘法
    **程序作用:矩阵乘法
    **作者:Amoshen
    **完成日期:2016.10.26 更新日期:2017.11.29
    **版本号:V2.0
    */
    #include <iostream>

    using namespace std;
    #define MAX_SIZE 10

    int main(void)
    {
    int i = 0, j = 0, m = 0, NumOfRowA, NumOfColA, NumOfColB, s = 0;//i为第一矩阵(A)的行变量,j为第一矩阵的列变量,同时为第二矩阵的列变量,m为第二矩阵(B)的列变量
    int a[MAX_SIZE][MAX_SIZE], b[MAX_SIZE][MAX_SIZE], c[MAX_SIZE][MAX_SIZE];//MAX_SIZE为二维数组最大值。因为二维数组不能长度不能为变量,所以找个最大值(如果各位有什么其他解决这个问题,请指教)

    cout << "输入的行列数均不能大于10!!!!" << endl;

    cout << "请输入A矩阵相关信息:" << endl;
    cout << "行 NumOfRowA = ";
    cin >> NumOfRowA;
    cout << "列 NumOfColA = ";
    cin >> NumOfColA;

    cout << "请输入B矩阵相关信息:" << endl;
    cout << "由于矩阵乘法,前矩阵的列数必须等于后矩阵的行数,故B矩阵只需输入列数" << endl;
    cout << "列 NumOfColB = ";
    cin >> NumOfColB;
    //用户自定义矩阵元素
    cout << "输入方式:1 0 0 0 1 0 0 0 1" << endl << "代表:" << endl << "1 0 0 0 1 0 0 0 1 ";
    cout << "请输入A矩阵的元素" << endl;

    for (i = 0; i < NumOfRowA; i++)
    {
    for (j = 0; j < NumOfColA; j++)
    {
    cin >> a[i][j];
    }
    }

    cout << "请输入B矩阵的元素" << endl;

    for (j = 0; j < NumOfColA; j++)
    {
    for (m = 0; m < NumOfColB; m++)
    {
    cin >> b[j][m];
    }
    }
    //矩阵乘法的实现
    for (i = 0; i < NumOfRowA; i++)
    {
    for (m = 0; m < NumOfColB; m++)
    {
    for (j = 0; j < NumOfColA; j++)
    {
    s = s + a[i][j] * b[j][m];
    }
    c[i][m] = s;
    s = 0;
    }
    }

    cout << "矩阵乘法的结果:" << endl;
    //输出矩阵结果
    for (i = 0; i < NumOfRowA; i++)
    {
    for (j = 0; j < NumOfColB; j++)
    {
    cout << c[i][j] << " ";
    }
    cout << endl;
    }

    return 0;
    }

  • 相关阅读:
    rdp远程Windows10连接不上的解决方案
    win10系统RuntimeBroker.exe进程占用大量cpu的解决方案
    win10磁盘管理中的“可用压缩空间大小”太小的解决方案
    修改windows10的默认字体为新宋体(并且容易区分小写l和数字1)
    WPS表格自动生成序号(不受增删影响)
    服务器CPU中的E3、E5的区别,及V2、V3、V5的区别
    屏蔽WPS广告
    解析腾讯视频真实地址
    qlv to mp4
    uefi + gpt 安装 Windows7(用Rufus制作U盘启动工具)
  • 原文地址:https://www.cnblogs.com/zpc-uestc/p/6002243.html
Copyright © 2011-2022 走看看