Головна » Статті » С++ » Приклади програм

Множення матриць за означенням С++
#include<iostream>
#include<cstdlib>
#include<cmath>
using namespace std;

int main()
{
    int m1, n1, m2, n2, i, j, k;
    //вводимо параметри
    cin >> m1 >> n1;
    cin >> m2 >> n2;
    //створюємо матриці
    float a1[m1][n1], a2[m2][n2];
    cout << endl;
    //вводимо матриці
    for(i=0; i<m1; i++)
    {
        for(j=0; j<n1; j++) cin >> a1[i][j];
        cout << endl;
    }
    for(i=0; i<m2; i++)
    {
        for(j=0; j<n2; j++) cin >> a2[i][j];
        cout << endl;
    }
    //дивимось, чи виконується умова, при якій можна множити матриці
    if(n1==m2)
    {
        //рахуємо результат і виводимо
        float a3[m1][n2];
        for(i=0; i<m1; i++)
        {
            for(j=0; j<n2; j++) a3[i][j]=0;
        }
        for(i=0; i<m1; i++)
        {
            for(j=0; j<n2; j++)
            {
                
                for(k=0; k<n1; k++) a3[i][j]+=a1[i][k]*a2[k][j];
                
            }
        }
        for(i=0; i<m1; i++)
        {
            for(j=0; j<n2; j++) cout << a3[i][j] << " ";
            cout << endl;
        }
        
    }
    else cout << "Error" << endl;
    
    system("pause");
}
Категорія: Приклади програм | Додав: Lord_Adwond (09-05-2018) | Автор: Lord_Adwond
Переглядів: 143 | Теги: множення матриць, за означенням, c++ | Рейтинг: 0.0/0
Всього коментарів: 0
avatar