Сложение двух матриц

C++C++Beginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном задании мы напишем программу на C++, которая будет складывать две матрицы с использованием двумерных массивов.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp/BasicsGroup -.-> cpp/variables("Variables") cpp/BasicsGroup -.-> cpp/operators("Operators") cpp/BasicsGroup -.-> cpp/arrays("Arrays") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") subgraph Lab Skills cpp/variables -.-> lab-96171{{"Сложение двух матриц"}} cpp/operators -.-> lab-96171{{"Сложение двух матриц"}} cpp/arrays -.-> lab-96171{{"Сложение двух матриц"}} cpp/for_loop -.-> lab-96171{{"Сложение двух матриц"}} cpp/output -.-> lab-96171{{"Сложение двух матриц"}} cpp/user_input -.-> lab-96171{{"Сложение двух матриц"}} cpp/files -.-> lab-96171{{"Сложение двух матриц"}} end

Создайте файл на C++

Создайте файл на C++ с именем add_matrices.cpp внутри директории ~/project. Это будет нашим основным файлом, где мы напишем код.

cd ~/project
touch add_matrices.cpp

Напишите код

Скопируйте следующий код и вставьте его в файл add_matrices.cpp.

#include <iostream>

using namespace std;

int main() {
    cout << "\n\nДобро пожаловать в программу сложения матриц\n\n\n";

    // Инициализируем переменные
    int row, col, i, j;

    // Объявляем три матрицы (двумерные массивы)
    int m1[10][10], m2[10][10], sum[10][10];

    // Получаем количество строк и столбцов матрицы от пользователя
    cout << "\nВведите количество строк и столбцов матрицы : ";
    cin >> row >> col;

    // Получаем элементы первой матрицы от пользователя
    cout << "\nВведите " << row * col << " элементов первой матрицы : \n";
    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            cin >> m1[i][j];
        }
    }

    // Получаем элементы второй матрицы от пользователя
    cout << "\nВведите " << row * col << " элементов второй матрицы : \n";
    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            cin >> m2[i][j];
        }
    }

    // Вычисляем сумму матриц
    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            sum[i][j] = m1[i][j] + m2[i][j];
        }
    }

    // Отображаем матрицы
    cout << "\n\nПервая матрица : \n";
    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            cout << m1[i][j] << "  ";
        }
        cout << endl;
    }

    cout << "\n\nВторая матрица : \n";
    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            cout << m2[i][j] << "  ";
        }
        cout << endl;
    }

    cout << "\n\nМатрица суммы : \n";
    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            cout << sum[i][j] << "  ";
        }
        cout << endl;
    }

    return 0;
}

Скомпилируйте и запустите код

Для компиляции кода откройте терминал в директории ~/project и запустите следующую команду:

g++ add_matrices.cpp -o add_matrices

Для запуска программы введите в терминале следующую команду:

./add_matrices

Это запустит программу и выведет результат сложения двух матриц.

Проверьте вывод

После запуска программы вы должны увидеть вывод в виде ниже:

Welcome to the Add Matrices Program

Enter the number of Rows and Columns of matrix : 2 2

Enter the 4 elements of first matrix :
1 2 3 4

Enter the 4 elements of second matrix :
5 6 7 8


The first matrix is :
1  2
3  4


The second matrix is :
5  6
7  8


The Sum matrix is :
6  8
10  12

Резюме

В этом практическом занятии мы научились складывать две матрицы с использованием двумерных массивов в языке программирования C++. Мы создали программу, которая принимает две матрицы в качестве входных данных, складывает соответствующие элементы двух матриц и выводит матрицу суммы.