亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言中如何求兩個矩陣的乘積

發布時間:2021-11-11 21:10:22 來源:億速云 閱讀:591 作者:柒染 欄目:開發技術

這篇文章將為大家詳細講解有關C語言中如何求兩個矩陣的乘積,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

分析

在數學中,矩陣(Matrix)是一個按照長方陣列排列的復數或實數集合,矩陣是高等代數學中的常見工具,也常見于統計分析等應用數學學科中。

C語言中如何求兩個矩陣的乘積

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

  • 1、當矩陣A的列數(column)等于矩陣B的行數(row)時,A與B可以相乘。

  • 2、矩陣C的行數等于矩陣A的行數,C的列數等于B的列數。

  • 3、乘積C的第m行第n列的元素等于矩陣A的第m行的元素與矩陣B的第n列對應元素乘積之和。

C語言中如何求兩個矩陣的乘積

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

代碼實現

#include <stdio.h>

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


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

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

    if(col_a != line_b)
    {
        printf("error,A矩陣的列數和B矩陣的行數必須相等!\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;
}

運行結果

C語言中如何求兩個矩陣的乘積

關于C語言中如何求兩個矩陣的乘積就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长丰县| 宁城县| 海南省| 浠水县| 雷州市| 墨竹工卡县| 漳平市| 万载县| 康保县| 鹤峰县| 湖北省| 微山县| 赣州市| 神池县| 贞丰县| 湘阴县| 沧州市| 商水县| 静安区| 马公市| 连江县| 乌兰县| 湘阴县| 盐亭县| 旬邑县| 涿鹿县| 开鲁县| 甘南县| 鄂州市| 许昌县| 田阳县| 株洲县| 磐安县| 临漳县| 鄂托克前旗| 郧西县| 德兴市| 和静县| 黔西县| 石台县| 油尖旺区|