Программа для транспонирования матрицы

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/arrays("Arrays") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") subgraph Lab Skills cpp/arrays -.-> lab-96241{{"Программа для транспонирования матрицы"}} cpp/for_loop -.-> lab-96241{{"Программа для транспонирования матрицы"}} cpp/output -.-> lab-96241{{"Программа для транспонирования матрицы"}} cpp/user_input -.-> lab-96241{{"Программа для транспонирования матрицы"}} end

Инициализация матриц

  1. Объявите две матрицы 3x3, mat1 и mat2.
  2. попросите пользователя ввести элементы матрицы с использованием cout и cin.
  3. Отобразите исходную матрицу mat1 с использованием cout.
#include <iostream>

using namespace std;

int main()
{
    // Инициализация матриц
    int mat1[3][3], mat2[3][3];
    int i, j;

    // Получение элементов, введенных пользователем
    cout << "Введите элементы матрицы (3x3): " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cin >> mat1[i][j];
        }
    }

    // Отображение исходной матрицы
    cout << "\nМатрица выглядит так: " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cout << mat1[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

Транспонирование матриц

  1. Выполните транспонирование матрицы, поменяв местами строки и столбцы исходной матрицы.
  2. Сохраните результат транспонированной матрицы в mat2.
#include <iostream>

using namespace std;

int main()
{
    // Инициализация матриц
    int mat1[3][3], mat2[3][3];
    int i, j;

    // Получение элементов, введенных пользователем
    cout << "Введите элементы матрицы (3x3): " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cin >> mat1[i][j];
        }
    }

    // Отображение исходной матрицы
    cout << "\nМатрица выглядит так: " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cout << mat1[i][j] << " ";
        }
        cout << endl;
    }

    // Транспонирование матриц
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            mat2[i][j] = mat1[j][i];
        }
    }

    // Отображение транспонированной матрицы
    cout << "\nТранспонированная матрица выглядит так: " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cout << mat2[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

Полный код

#include <iostream>

using namespace std;

int main()
{
    // Инициализация матриц
    int mat1[3][3], mat2[3][3];
    int i, j;

    // Получение элементов, введенных пользователем
    cout << "Введите элементы матрицы (3x3): " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cin >> mat1[i][j];
        }
    }

    // Отображение исходной матрицы
    cout << "\nМатрица выглядит так: " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cout << mat1[i][j] << " ";
        }
        cout << endl;
    }

    // Транспонирование матриц
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            mat2[i][j] = mat1[j][i];
        }
    }

    // Отображение транспонированной матрицы
    cout << "\nТранспонированная матрица выглядит так: " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cout << mat2[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

Резюме

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