2008年10月23日 星期四

Chap5-1:矩陣計算

矩陣運算(3*2)
設計一程式可計算M×N與N×M矩陣的乘積(設M = 3,N = 4)
提示:設矩陣A、B、C C = A×B

------------------------------------------------<程式起始>--------------------------------------
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    int i=0, j=0;//宣告控制變數
    int A[3][4]={0},B[4][3]={0},C[3][3]={0};//宣告矩陣
    cout<<"矩陣運算程式(3*4)*(4*3)\n輸入方式請由左至右由上至下\n";//程式運作宣告
    cout<<"請輸入矩陣A的數值\n";//輸入
    for (i=0;i<3;i++)
    {
        for (j=0;j<4;j++)
            cin>>A[i][j];
    }
    cout<<"你輸入的矩陣A為\n";//驗證輸入
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
            cout<<setw(4)<<A[i][j];
        cout<<endl;
    }
   
    cout<<"\n請輸入矩陣B的數值\n";//輸入
    for (i=0;i<4;i++)
    {
        for (j=0;j<3;j++)
            cin>>B[i][j];
    }
   
        cout<<"你輸入的矩陣B為\n";//驗證輸入
    for(i=0;i<4;i++)
    {
        for(j=0;j<3;j++)
            cout<<setw(4)<<B[i][j];
        cout<<endl;
    }
   
    //計算程式碼
    for (i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            for(int k=0;k<4;k++)
                C[i][j]+=A[i][k]*B[k][j];
        }
    }
           
    cout<<"\n運算結果為\n";//運算輸出
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
            cout<<setw(4)<<C[i][j];
        cout<<endl;
    }
       
    return 0;
}
------------------------------------------------<程式結尾>--------------------------------------

程式執行畫面

沒有留言:

張貼留言