Programa C# para intercambiar las columnas de una matriz

Este programa C# está diseñado para intercambiar o intercambiar las columnas de una matriz. Una matriz es una matriz bidimensional de números organizados en filas y columnas. El intercambio de columnas puede resultar útil en diversas aplicaciones, como transformaciones matriciales, manipulación de datos y algoritmos de clasificación.

Planteamiento del problema

Escriba un programa que tome como entrada una matriz de números enteros e intercambie dos columnas específicas de la matriz. El programa debería generar la matriz original y la matriz con las columnas intercambiadas.

Programa C# para intercambiar las columnas de una matriz

using System;

class MatrixInterchange
{
    static void Main()
    {
        Console.Write("Enter the number of rows: ");
        int rows = int.Parse(Console.ReadLine());

        Console.Write("Enter the number of columns: ");
        int columns = int.Parse(Console.ReadLine());

        int[,] matrix = new int[rows, columns];
        int[,] swappedMatrix = new int[rows, columns];

        // Input matrix elements
        Console.WriteLine("Enter matrix elements:");

        for (int i = 0; i < rows; i++)
        {
            for (int j = 0; j < columns; j++)
            {
                Console.Write($"Enter element at [{i},{j}]: ");
                matrix[i, j] = int.Parse(Console.ReadLine());
            }
        }

        // Interchange columns
        Console.WriteLine("Matrix before column interchange:");
        PrintMatrix(matrix);

        for (int i = 0; i < rows; i++)
        {
            for (int j = 0; j < columns; j++)
            {
                swappedMatrix[i, j] = matrix[i, columns - 1 - j];
            }
        }

        Console.WriteLine("Matrix after column interchange:");
        PrintMatrix(swappedMatrix);
    }

    static void PrintMatrix(int[,] matrix)
    {
        int rows = matrix.GetLength(0);
        int columns = matrix.GetLength(1);

        for (int i = 0; i < rows; i++)
        {
            for (int j = 0; j < columns; j++)
            {
                Console.Write(matrix[i, j] + " ");
            }
            Console.WriteLine();
        }
    }
}

Cómo funciona

  1. Recopilación de aportes:
    • El programa comienza solicitando al usuario que ingrese el número de filas y columnas de la matriz.
  2. Entrada de matriz:
    • A continuación, el programa pide al usuario que introduzca los elementos de la matriz fila por fila. Utiliza bucles anidados para leer los valores de cada celda de la matriz.
  3. Entrada de índices de columna:
    • Luego, el programa solicita al usuario que ingrese los índices de las dos columnas que desea intercambiar. Estos índices están basados ​​en 1, lo que significa que la primera columna es 1, la segunda es 2, y así sucesivamente.
  4. Pantalla de matriz original:
    • Antes de realizar el intercambio, el programa muestra la matriz original al usuario.
  5. Intercambio de columnas:
    • Usando otro conjunto de bucles anidados, el programa crea una nueva matriz llamada swappedMatrix.
    • Itera a través de cada elemento de la matriz original y lo copia en la posición correspondiente en la matriz. swappedMatrix. Sin embargo, al copiar columnas, intercambia el orden de las columnas según los índices especificados. Por ejemplo, si el usuario quiere intercambiar las columnas 2 y 4, copia el elemento en (i, 2) en la matriz original a (i, 4) en la swappedMatrix y viceversa.
  6. Mostrar el resultado:
    • Después de realizar el intercambio de columnas, el programa muestra la matriz resultante (es decir, swappedMatrix) al usuario, mostrando el efecto del intercambio de columnas.
  7. Finalización del programa:
    • El programa finaliza después de mostrar los resultados.

De entrada y salida


Source link

About Carlos Carraveo Jimenez

Check Also

Perspectiva del analista: los líderes en ingeniería de software deben comprender el potencial de los datos sintéticos

Los datos sintéticos son una clase de datos generados artificialmente mediante métodos avanzados, como el …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *