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

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

Введение

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

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

  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++ может помочь вам в различных вычислительных задачах.