普及一下:現成佛薩奇2.0系統開發原始碼技術搭建介紹

Lyr96246466發表於2023-03-23

 用c++實現了矩陣間的加法、減法、乘法的運算,並實現對齊顯示。開發+18I鏈上合約-259l開發系統3365幾種基本的C++矩陣

運算程式碼 4星 · 使用者滿意度95% 摘要:VC/C++原始碼,資料庫應用,矩陣運算,矩陣求...


 矩陣相乘函式(MResult = MOrigin1 * MOrigin2),引數說明: * MOrigin1 - 原始矩陣1,以一維陣列形式儲存,m行n列 * 

MOrigin2 - 原始矩陣2,以一維陣列形式儲存,n...


#include <iostream>

#include <stdio.h>

#include <cstring>

using namespace std;

/**

矩陣乘法a*b=c;

*/

//按行輸入

void ScanF(int x[][100],int m,int n)

{

    for(int i = 1;i <= m; i++)

        for(int j = 1;j <= n; j++)

        cin>>x[i][j];

}


void Print(int x[][100],int m,int n)

{

    for(int i = 1;i <= m; i++)

    {

        for(int j = 1;j <= n; j++)

            cout<<x[i][j]<<" ";

        cout<<endl;

    }

}


void multiply(int a[][100],int b[][100],int c[][100],int ma,int na,int mb,int nb)

{

    int row=0,column=0;

    for(int i = 1;i <= ma; i++)

    {

        row = i;

        for(int j = 1;j <= nb; j++)

        {

            int sum = 0;column=j;

            for(int k = 1;k <= mb; k++)

                sum += a[i][k]*b[k][j];

            c[row][column] = sum;

        }

    }

}

int main()

{

    int a[100][100],b[100][100],c[100][100];

    int ma,na,mb,nb;//m行n列

    memset(a,sizeof(a),0);

    memset(b,sizeof(b),0);

    memset(c,sizeof(c),0);

    cin>>ma>>na>>mb>>nb;        //輸入資料保證na=mb;

    if(na != mb)

    {

        cout<<"無法相乘!"<<endl;

        return 0;

    }

    ScanF(a,ma,na);

    ScanF(b,mb,nb);

    multiply(a,b,c,ma,na,mb,nb);

    //Print(a,ma,na);

    Print(c,ma,nb);


    return 0;


}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70012429/viewspace-2941136/,如需轉載,請註明出處,否則將追究法律責任。

相關文章