domingo, 6 de septiembre de 2015

Matriz y su Transpuesta en C#



Una matriz que pasa a hacer traspuesta, es decir, se cambian filas por columnas. Una matriz de 5x4 que se transformara en una de 4x5.



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //Variables
            int[,] matriz={{5,6,2,1},{1,2,3,4},{6,7,8,9},{6,7,8,9},{1,2,3,4}}; //Matriz 5x4
            int [,] transpuesta = new int [4,5]; //Donde se guardara la nueva matriz
            int a, b; //Valores auxiliares

            //Imprimiendo original
            Console.Write("\n\n\t= = = = = = = Matriz Original = = = = =\n");
            for (a = 0; a < 5; a++)
            {
                for (b = 0; b < 4; b++)
                {
                    Console.Write("\t" + matriz[a, b]);
                }
                Console.Write("\n");
            }

            Console.Write("\t= = = = = = = = = = = = = = = = = = = =");


            //Pasando valores de matriz a tranpuesta
            for (a = 0; a < 5; a++)
            {
                for (b = 0; b < 4; b++)
                {
                    transpuesta[b,a] = matriz[a,b];
                    Console.Write("\t");
                }
            }

            Console.Write("\n\t= = = = = = = Matriz Transpuesta = = = = \n");

            //Imprimiendo transpuesta
            for (a = 0; a < 4; a++)
            {
                for (b = 0; b < 5; b++)
                {
                    Console.Write("\t" + transpuesta[a, b]);
                }
                Console.Write("\n");
            }
            Console.Write("\t= = = = = = = = = = = = = = = = = = = = \n"); 

            //Mensaje para salir
            Console.WriteLine("\n\t\tPresione < ENTER > para continuar . . .");
            Console.ReadKey();
        }
    }
}

Demotracion:

1 comentario: