Cómo transponer matrices en programación – Ejemplo en Unity C#

Introducción

En entradas anterior vimos cómo definir matrices en programación y cargarle datos, en este artículo veremos un algoritmo para transponer una matriz en programación, utilizando lenguaje C# en Unity.

Datos iniciales

Partiremos de una matriz A con sus datos precargados y analizaremos un método que realizará la transposición de la matriz que se le envíe como parámetro y devolverá la matriz resultado, para más detalles sobre métodos en programación, sintaxis y parámetros de entrada y salida consultar este vídeo.

Fig. 1: Declaración de una matriz A y llamada a una función que devuelve su matriz transpuesta.

Algoritmo para transponer matriz de N filas y M columnas

Transponer una matriz implica transformas sus filas en columnas y sus columnas en filas, por lo tanto la matriz resultante será una matriz que tendrá sus dimensiones intercambiadas. La función que se encargará de transponer la matriz que entre como parámetro se observa en la figura 2, en primer lugar vamos a leer el número de filas y columnas de la matriz de entrada y crearemos la estructura de la matriz resultado, esto se hace en las líneas 30, 31 y 32 respectivamente, observen como en la creación de la matriz resultado, en la cantidad de filas se coloca el valor de columnas de la matriz de entrada y en la cantidad de columnas la cantidad de filas de la matriz de entrada.

Luego tenemos que recorrer cada elemento de la matriz de entrada, esto hemos visto que se podía hacer mediante dos bucles for anidados, el primero recorre filas y el bucle del interior recorre las columnas. Dentro del bucle lo que haremos es asignar el elemento ij de la matriz del entrada, al elemento ji de la matriz de salida.

Al finalizar el bucle se retorna la matriz resultado (línea 41).

Fig. 2: Algoritmo para transponer una matriz A.

Scroll al inicio
Secured By miniOrange