Programa para realizar la traspuesta de una matriz

C++C++Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Esta práctica te guiará a través del proceso de realizar la traspuesta de una matriz en C++. La traspuesta de una matriz se obtiene intercambiando las filas y columnas de una matriz, lo que da como resultado una nueva matriz en la que las columnas se convierten en filas y las filas en columnas.


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{{"Programa para realizar la traspuesta de una matriz"}} cpp/for_loop -.-> lab-96241{{"Programa para realizar la traspuesta de una matriz"}} cpp/output -.-> lab-96241{{"Programa para realizar la traspuesta de una matriz"}} cpp/user_input -.-> lab-96241{{"Programa para realizar la traspuesta de una matriz"}} end

Inicialización de las matrices

  1. Declara dos matrices de 3x3, mat1 y mat2.
  2. Pide al usuario que ingrese los elementos de la matriz usando cout y cin.
  3. Muestra la matriz original mat1 usando cout.
#include <iostream>

using namespace std;

int main()
{
    // Inicializando matrices
    int mat1[3][3], mat2[3][3];
    int i, j;

    // Obteniendo los elementos ingresados por el usuario
    cout << "Ingrese los elementos de la Matriz (3x3): " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cin >> mat1[i][j];
        }
    }

    // Mostrando la matriz original
    cout << "\nMatriz es: " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cout << mat1[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

Transponiendo las matrices

  1. Realiza la traspuesta de la matriz intercambiando las filas y columnas de la matriz original.
  2. Guarda el resultado de la matriz traspuesta en mat2.
#include <iostream>

using namespace std;

int main()
{
    // Inicializando matrices
    int mat1[3][3], mat2[3][3];
    int i, j;

    // Obteniendo los elementos ingresados por el usuario
    cout << "Ingrese los elementos de la Matriz (3x3): " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cin >> mat1[i][j];
        }
    }

    // Mostrando la matriz original
    cout << "\nMatriz es: " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cout << mat1[i][j] << " ";
        }
        cout << endl;
    }

    // Transponiendo matrices
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            mat2[i][j] = mat1[j][i];
        }
    }

    // Mostrando la matriz traspuesta
    cout << "\nMatriz traspuesta es: " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cout << mat2[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

Código completo

#include <iostream>

using namespace std;

int main()
{
    // Inicializando matrices
    int mat1[3][3], mat2[3][3];
    int i, j;

    // Obteniendo los elementos ingresados por el usuario
    cout << "Ingrese los elementos de la Matriz (3x3): " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cin >> mat1[i][j];
        }
    }

    // Mostrando la matriz original
    cout << "\nMatriz es: " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cout << mat1[i][j] << " ";
        }
        cout << endl;
    }

    // Transponiendo matrices
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            mat2[i][j] = mat1[j][i];
        }
    }

    // Mostrando la matriz traspuesta
    cout << "\nMatriz traspuesta es: " << endl;
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            cout << mat2[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

Resumen

Esta práctica te ha guiado a través del proceso de realizar la traspuesta de una matriz en C++. Siguiendo los pasos dados, ahora deberías tener una mejor comprensión de cómo inicializar y transponer matrices. La traspuesta de una matriz es una operación importante en álgebra lineal, y realizarla en C++ puede ayudarte en varias tareas computacionales.