欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言每日練習(xí)之求兩個矩陣的乘積詳解

 更新時間:2022年01月10日 09:07:26   作者:小輝_Super  
這篇文章主要介紹了如何求兩個矩陣的乘積,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

分析

在數(shù)學(xué)中,矩陣(Matrix)是一個按照長方陣列排列的復(fù)數(shù)或?qū)崝?shù)集合,矩陣是高等代數(shù)學(xué)中的常見工具,也常見于統(tǒng)計分析等應(yīng)用數(shù)學(xué)學(xué)科中。

在這里插入圖片描述

矩陣的乘法有以下注意事項:

  • 1、當(dāng)矩陣A的列數(shù)(column)等于矩陣B的行數(shù)(row)時,A與B可以相乘。
  • 2、矩陣C的行數(shù)等于矩陣A的行數(shù),C的列數(shù)等于B的列數(shù)。
  • 3、乘積C的第m行第n列的元素等于矩陣A的第m行的元素與矩陣B的第n列對應(yīng)元素乘積之和。

在這里插入圖片描述

代碼實現(xiàn):只需要用矩陣乘積的公式求出新的矩陣,即為兩個矩陣的乘積,程序中還需要判斷輸入的兩個矩陣是否可以相乘。

代碼實現(xiàn)

#include <stdio.h>

int main()
{
    int line_a = 0; //A矩陣行數(shù)
    int col_a = 0; //A矩陣列數(shù)
    int line_b = 0; //B矩陣行數(shù)
    int col_b = 0; //B矩陣列數(shù)
    int i = 0;
    int j = 0;
    int k = 0;


    /* 獲取A矩陣行數(shù)和列數(shù) */
    printf("請輸入A矩陣的行數(shù)和列數(shù)\n");
    scanf("%d%d", &line_a, &col_a);
    int matrix_A[line_a][col_a];

    /* 獲取B矩陣行數(shù)和列數(shù) */
    printf("請輸入B矩陣的行數(shù)和列數(shù)\n");
    scanf("%d%d", &line_b, &col_b);
    int matrix_B[line_b][col_b];

    if(col_a != line_b)
    {
        printf("error,A矩陣的列數(shù)和B矩陣的行數(shù)必須相等!\n");
        return 0;
    }
    int matrix_C[line_a][col_b]; //C矩陣:A矩陣和B矩陣的乘積

    /* 獲取A矩陣元素 */
    for(i = 0; i< line_a; i++)
    {
        printf("請輸入A矩陣第%d行元素\n", i);
        for(j = 0; j < col_a; j++)
        {
            scanf("%d", &matrix_A[i][j]);
        }
    }

    /* 獲取B矩陣元素 */
    for(i = 0; i< line_b; i++)
    {
        printf("請輸入B矩陣第%d行元素\n", i);
        for(j = 0; j < col_b; j++)
        {
            scanf("%d", &matrix_B[i][j]);
        }
    }

    /* 打印矩陣 */
    printf("輸入的A矩陣為:\n");
    for(i = 0; i < line_a; i++)
    {
        for(j = 0; j < col_a; j++)
        {
            printf("%d\t", matrix_A[i][j]);
        }
        printf("\n");
    }
    printf("輸入的B矩陣為:\n");
    for(i = 0; i < line_b; i++)
    {
        for(j = 0; j < col_b; j++)
        {
            printf("%d\t", matrix_B[i][j]);
        }
        printf("\n");
    }

    /* 求AB的乘積,即矩陣C */
    for(i = 0; i < line_a; i++)
    {
        for(j = 0; j < col_b; j++)
        {
            matrix_C[i][j] = 0; //初始化
            for(k = 0; k < col_a; k++)
              matrix_C[i][j] += matrix_A[i][k] * matrix_B[k][j];
        }
    }

    /* 打印C矩陣 */
    printf("A矩陣乘B矩陣:\n");
    for(i = 0; i < line_a; i++)
    {
        for(j = 0; j < col_b; j++)
        {
            printf("%d\t", matrix_C[i][j]);
        }
        printf("\n");
    }

    return 0;
}

運行結(jié)果

在這里插入圖片描述

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • C++11中l(wèi)onglong超長整型和nullptr初始化空指針

    C++11中l(wèi)onglong超長整型和nullptr初始化空指針

    本文介紹?C++11?標(biāo)準(zhǔn)中新添加的?long?long?超長整型和?nullptr?初始化空指針,在?C++11?標(biāo)準(zhǔn)下,相比?NULL?和?0,使用?nullptr?初始化空指針可以令我們編寫的程序更加健壯,本文結(jié)合示例代碼給大家詳細(xì)講解,需要的朋友跟隨小編一起看看吧
    2022-12-12
  • 詳解C++ Qt中堆疊窗體的使用案例

    詳解C++ Qt中堆疊窗體的使用案例

    這篇文章主要為大家詳細(xì)介紹了C++ Qt中堆疊窗體的使用案例,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)QT有一定的幫助,感興趣的小伙伴可以了解一下
    2023-08-08
  • 從C語言過渡到C++之引用(別名)

    從C語言過渡到C++之引用(別名)

    本文給大家講解的是在從C語言過渡到C++中的引用的區(qū)別及簡單示例,有需要的小伙伴可以參考下
    2017-07-07
  • C語言宏定義容易認(rèn)不清的盲區(qū)梳理

    C語言宏定義容易認(rèn)不清的盲區(qū)梳理

    宏定義是C提供的三種預(yù)處理(宏定義、文件包含、條件編譯)的其中一種,其主要目的是為程序員在編程時提供一定的方便,并能在一定程度上提高程序的運行效率
    2022-09-09
  • C++ map與set封裝實現(xiàn)過程講解

    C++ map與set封裝實現(xiàn)過程講解

    set set是一種關(guān)聯(lián)式容器,下面這篇文章主要給大家介紹了關(guān)于C++中map和set使用的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-03-03
  • 用VC++6.0的控制臺實現(xiàn)2048小游戲的程序

    用VC++6.0的控制臺實現(xiàn)2048小游戲的程序

    本文是作者拜讀劉地同學(xué)的《C語言控制臺版2048》之后感覺非常不錯,添加了注釋之后分享給大家的,方便更多的初學(xué)者閱讀學(xué)習(xí),有需要的小伙伴參考下。
    2015-03-03
  • Dev C++編譯時運行報錯source file not compile問題

    Dev C++編譯時運行報錯source file not compile問題

    這篇文章主要介紹了Dev C++編譯時運行報錯source file not compile問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • C語言如何寫類實現(xiàn)教程示例

    C語言如何寫類實現(xiàn)教程示例

    這篇文章主要為大家介紹了C語言如何寫類的實現(xiàn)教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • C語言多組輸入使用方法

    C語言多組輸入使用方法

    這篇文章主要給大家介紹了關(guān)于C語言多組輸入使用的相關(guān)資料,在 C語言中可以使用循環(huán)語句來實現(xiàn)多組輸入,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • 簡單分析C++指針的操作和運算

    簡單分析C++指針的操作和運算

    這篇文章主要介紹了簡單分析C++指針的操作和運算的相關(guān)資料,需要的朋友可以參考下
    2015-07-07

最新評論