static void Main(string[] args)
        {
            Matriz MiMatriz = new Matriz();

            MiMatriz.InicializarMatriz();

            Console.WriteLine("MATRIZ");
            MiMatriz.ImprimirMatriz();

            Console.ReadKey();
        }
예제 #2
0
파일: Program.cs 프로젝트: RRG96/POO
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("Ingrese el tamaño de la matriz 1");
                Matriz <int> m1 = new Matriz <int>(Convert.ToInt32(Console.ReadLine()));
                m1.Lee();
                Console.WriteLine("Ingrese el tamaño de la matriz 2");
                Matriz <int> m2 = new Matriz <int>(Convert.ToInt32(Console.ReadLine()));
                m2.Lee();
                Matriz <int> m3 = new Matriz <int>(m1.Tamanio);
                Console.WriteLine("Que desea hacer?\n\tSuma (S)\n\tResta (R)\n\tMultiplicación (M)\n\tSalir");
                string opcion = Console.ReadLine();
                switch (opcion)
                {
                case "S":
                    m1.Imprime();
                    Console.WriteLine("+");
                    m2.Imprime();
                    Console.WriteLine("=");
                    m3 = m1 + m2;
                    m3.Imprime();
                    break;

                case "R":
                    m1.Imprime();
                    Console.WriteLine("-");
                    m2.Imprime();
                    Console.WriteLine("=");
                    m3 = m1 - m2;
                    m3.Imprime();
                    break;

                case "M":
                    m1.Imprime();
                    Console.WriteLine("X");
                    m2.Imprime();
                    Console.WriteLine("=");
                    m3 = m1 * m2;
                    m3.Imprime();
                    break;

                default:
                    Console.WriteLine("Adios :D");
                    break;
                }
            }
            catch (FormatException fe)
            {
                Console.WriteLine(fe.Message);
            }
            Console.ReadKey();
        }
예제 #3
0
        static void Main()
        {
            Matriz matriz1 = new Matriz();

            Console.WriteLine();
            Matriz matriz2 = new Matriz();

            Console.WriteLine();
            matriz2.mat = matriz1 + matriz2;
            Console.WriteLine(matriz2.ToString());

            //matriz.imprime(); No es recomendable controlar excepciones
            //desde la clase main o fuera de la clase original
        }
예제 #4
0
        static void Main(string[] args)
        {
            int filas, columnas;

            Matriz A = new Matriz();

            Console.WriteLine("Ingresa el número de filas");

            filas = int.Parse(Console.ReadLine());

            Console.WriteLine("Ingresa el número de columnas");

            columnas = int.Parse(Console.ReadLine());

            A.SetFilas(filas);
            A.SetColumnas(columnas);
            A.SetMatriz();
            A.SumaMatriz();
            A.VerMatriz();
        }
예제 #5
0
        public static Matriz <T> operator +(Matriz <T> m1, Matriz <T> m2)
        {
            Matriz <T> m3 = new Matriz <T>(m1.Tamanio);
            dynamic    d1 = m1;
            dynamic    d2 = m2;

            if (m1.Tamanio == m2.Tamanio)
            {
                for (int i = 0; i < m1.Tamanio; i++)
                {
                    for (int j = 0; j < m1.Tamanio; j++)
                    {
                        m3.M[i, j] = d1.M[i, j] + d2.M[i, j];
                    }
                }
                return(m3);
            }
            else
            {
                Console.WriteLine("No se puede realizar la suma, las matrices no son del mismo tamaño");
                return(m3);
            }
        }
예제 #6
0
        //Hacemos una sobrecarga de operadores
        public static Matriz <T> operator -(Matriz <T> m1, Matriz <T> m2)
        {
            Matriz <T> m3 = new Matriz <T>(m1.Tamanio);
            //Declaramos la variables d1 y d2 como dynamic y los igualamos a m1 y m2 para realizar la suma
            dynamic d1 = m1;
            dynamic d2 = m2;

            if (m1.Tamanio == m2.Tamanio)
            {
                for (int i = 0; i < m1.Tamanio; i++)
                {
                    for (int j = 0; j < m1.Tamanio; j++)
                    {
                        m3.M[i, j] = d1.M[i, j] - d2.M[i, j];
                    }
                }
                return(m3);
            }
            else
            {
                Console.WriteLine("No se puede realizar la resta, las matrices no son del mismo tamaño");
                return(m3);
            }
        }
예제 #7
0
 /// <summary>
 /// Multiplica la matriz de la clase actual, por la especificada
 /// en el el parametro PorMatriz, antes verifica si son conformables
 /// </summary>
 /// <param name="PorMatriz">Matriz por la que se pos.multiplicara</param>
 /// <returns>Si es conformable, la matriz resultante, de los contrario NULL</returns>
 public Matriz Multiplicar(Matriz PorMatriz)
 {
     if (this.cols == PorMatriz.rows) //son conformables
     {
         Matriz MRes = new Matriz(rows, PorMatriz.cols);
         for (int i = 0; i < rows; i++)
         {
             for (int j = 0; j < PorMatriz.cols; j++)
             {
                 for (int k = 0; k < cols; k++)
                 {
                     MRes.Matrix[i, j] += this.Matrix[i, k] * PorMatriz.Matrix[k, j];
                 }
             }
         }
         MRes.rows = this.rows;
         MRes.cols = PorMatriz.cols;
         return(MRes);
     }
     else
     {
         return(null);//no es posible realizar la multiplicacion, no son conformables
     }
 }