Сведения о вопросе

DED

21:44, 20th July, 2020

Как найти разность, сумму и произведение матриц. И сразу напишите код на С++, реализацию данных задач

Просмотров: 248   Ответов: 2

Арифметические дейсвтия с матрицами.



  Сведения об ответе

FAriza

21:52, 20th July, 2020

 

#include <iostream>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int a[n][n], b[n][n], c[n][n];
    for(int i = 0; i < n; ++i)
        for(int j = 0; j < n; ++j)
            cin >> a[i][j]; // вводим элементы матрицы A

    for(int i = 0; i < n; ++i)
        for(int j = 0; j < n; ++j)
            cin >> b[i][j]; // вводим элементы матрицы B

    // cумма матриц
    for(int i = 0; i < n; ++i)
        for(int j = 0; j < n; ++j)
            c[i][j] = a[i][j] + b[i][j];
    // выводим результат
    for(int i = 0; i < n; ++i){
        for(int j = 0; j < n; ++j)
            cout << c[i][j] << " ";
        cout << endl;
    }
    return 0;
}

 

Разность матриц

 

 

#include <iostream>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int a[n][n], b[n][n], c[n][n];
    for(int i = 0; i < n; ++i)
        for(int j = 0; j < n; ++j)
            cin >> a[i][j]; // вводим элементы матрицы A

    for(int i = 0; i < n; ++i)
        for(int j = 0; j < n; ++j)
            cin >> b[i][j]; // вводим элементы матрицы B

    // разность матриц
    for(int i = 0; i < n; ++i)
        for(int j = 0; j < n; ++j)
            c[i][j] = a[i][j] - b[i][j];
    // выводим результат
    for(int i = 0; i < n; ++i){
        for(int j = 0; j < n; ++j)
            cout << c[i][j] << " ";
        cout << endl;
    }
    return 0;
}

 

Произведение  матриц

 

 

#include <iostream>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int a[n][n], b[n][n], c[n][n];
    for(int i = 0; i < n; ++i)
        for(int j = 0; j < n; ++j)
            cin >> a[i][j]; // вводим элементы матрицы A

    for(int i = 0; i < n; ++i)
        for(int j = 0; j < n; ++j)
            cin >> b[i][j]; // вводим элементы матрицы B
    // произведение матриц
    for(int i = 0; i < n; ++i){
        for(int j = 0; j < n; ++j){
            int s = 0;
            for(int h = 0; h < n; ++h)
                s += a[i][h] * b[h][j];
            c[i][j] = s;
        }
    }
    // выводим результат
    for(int i = 0; i < n; ++i){
        for(int j = 0; j < n; ++j)
            cout << c[i][j] << " ";
        cout << endl;
    }
    return 0;
}


  Сведения об ответе

PROGA

19:28, 21st July, 2020

Сумма:
                $$ {
                   C_{11} = A_{11} + B_{11} \\
                   C_{12} = A_{11} + B_{12} \\
                   C_{21} = A_{21} + B_{11} \\
                   C_{22} = A_{21} + B_{12} \\ 
                }
                 $$

Разность:

$$ {
                   C_{11} = A_{11} - B_{11} \\
                   C_{12} = A_{11} - B_{12} \\
                   C_{21} = A_{21} - B_{11} \\
                   C_{22} = A_{21} - B_{12} \\ 
                }
                 $$

Произведение:

$$ {
                   C_{11} = A_{11} * B_{11} + A_{12} * B_{21} \\
                   C_{12} = A_{11} * B_{12} + A_{12} * B_{22} \\
                   C_{21} = A_{21} * B_{11} + A_{22} * B_{21} \\
                   C_{22} = A_{21} * B_{12} + A_{22} * B_{22} \\
                   C_{31} = A_{31} * B_{11} + A_{32} * B_{21} \\
                   C_{32} = A_{31} * B_{12} + A_{32} * B_{22} 
                }
                 $$

 

Напомню, что операция умножения двух матриц А и В возможна только тогда, когда количество столбцов матрицы А равно количеству строк матрицы В.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться