public double[] RealizarLaOperacionMatematica(double[,] matriz1)
        {
            double[] matrizDiagonal;
            var      laValidacion = new Validaciones.ValidacionesDeLasMatrices();

            if (laValidacion.LaMatrizEstaVacia(matriz1))
            {
                throw new ArgumentNullException("La matriz no contiene ningún elemento");
            }
            else if ((matriz1.GetUpperBound(0) / matriz1.GetUpperBound(1)) == 1)
            {
                matrizDiagonal = new double[matriz1.GetLength(0)];

                //Tamaño de filas
                for (int i = 0; i < matriz1.GetLength(0); i++)
                {
                    matrizDiagonal[i] = matriz1[i, i];
                }
            }
            else
            {
                throw new ArgumentException("La matriz debe de tener la misma cantidad de filas y columnas");
            }

            return(matrizDiagonal);
        }
Ejemplo n.º 2
0
        public double[,] RealizarLaOperacionMatematica(double[,] matriz1, double[,] matriz2)
        {
            double[,] matrizTotalSuma;
            var laValidacion = new Validaciones.ValidacionesDeLasMatrices();

            if (laValidacion.LaMatrizEstaVacia(matriz1))
            {
                throw new ArgumentNullException("La primera matriz no contiene ningún elemento");
            }
            else if (laValidacion.LaMatrizEstaVacia(matriz2))
            {
                throw new ArgumentNullException("La segunda matriz no contiene ningún elemento");
            }
            else if (laValidacion.dosMatricesConIgualCantidadFilasYColumnas(matriz1, matriz2))
            {
                matrizTotalSuma = new double[matriz1.GetLength(0), matriz1.GetLength(1)];

                //Ejecucion de la suma entre matriz 1 y matriz1
                for (int i = 0; i < matrizTotalSuma.GetLength(0); i++)
                {
                    for (int j = 0; j < matrizTotalSuma.GetLength(1); j++)
                    {
                        matrizTotalSuma[i, j] = matriz1[i, j] + matriz2[i, j];
                    }
                }
            }
            else
            {
                throw new ArgumentOutOfRangeException("Ambas matrices deben tener la misma cantidad de filas y columnas.");
            }

            return(matrizTotalSuma);
        }
Ejemplo n.º 3
0
        public bool RealizarLaOperacionMatematica(double[,] matriz1)
        {
            var laValidacion = new Validaciones.ValidacionesDeLasMatrices();

            if (laValidacion.LaMatrizEstaVacia(matriz1))
            {
                throw new ArgumentNullException("La matriz no contiene ningún elemento");
            }
            else if ((matriz1.GetUpperBound(0) / matriz1.GetUpperBound(1)) == 1)
            {
                for (int i = 1; i < matriz1.GetLength(0); i++)
                {
                    for (int j = 0; j < i; j++)
                    {
                        if (matriz1[i, j] != 0)
                        {
                            return(false);
                        }
                    }
                }
            }
            else
            {
                throw new ArgumentException("La matriz debe de tener la misma cantidad de filas y columnas");
            }

            return(true);
        }
Ejemplo n.º 4
0
        public bool RealizarLaOperacionMatematica(double[,] matriz1)
        {
            int sum          = 0; //variable que sumara todos los elementos
            var laValidacion = new Validaciones.ValidacionesDeLasMatrices();

            if (laValidacion.LaMatrizEstaVacia(matriz1))
            {
                throw new ArgumentNullException("La matriz no contiene ningún elemento");
            }
            else
            {
                for (int i = 0; i < matriz1.GetLength(0); i++)
                {     //Tamaño de filas
                    for (int j = 0; j < matriz1.GetLength(1); j++)
                    { //Tamaño de columnas
                        sum += Convert.ToInt32(matriz1[i, j]);
                    }
                }

                if (sum == 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
Ejemplo n.º 5
0
        public double[,] RealizarLaOperacionMatematica(double[,] matriz1, double[,] matriz2)
        {
            double totalMultiplicacion, totalSuma;

            double[,] matrizTotalMultiplicacion;
            var laValidacion = new Validaciones.ValidacionesDeLasMatrices();

            if (laValidacion.LaMatrizEstaVacia(matriz1))
            {
                throw new ArgumentNullException("La primera matriz no contiene ningún elemento");
            }
            else if (laValidacion.LaMatrizEstaVacia(matriz2))
            {
                throw new ArgumentNullException("La segunda matriz no contiene ningún elemento");
            }
            else if (laValidacion.columnasDePrimeraMatrizIgualAFilasDeSegundaMatriz(matriz1, matriz2))
            {
                totalSuma                 = 0;
                totalMultiplicacion       = 0;
                matrizTotalMultiplicacion = new double[matriz1.GetLength(0), matriz2.GetLength(1)];

                //Ejecucion de la multiplicacion entre matriz 1 y matriz 2
                for (int i = 0; i < matriz2.GetLength(1); i++)
                {
                    for (int j = 0; j < matriz1.GetLength(0); j++)
                    {
                        for (int c = 0; c < matriz1.GetLength(1); c++)
                        {
                            totalMultiplicacion = matriz1[j, c] * matriz2[c, i];
                            Convert.ToInt32(totalMultiplicacion);
                            totalSuma += totalMultiplicacion;
                        }
                        matrizTotalMultiplicacion[j, i] = totalSuma;
                        totalMultiplicacion             = 0;
                        totalSuma = 0;
                    }
                }
            }
            else
            {
                throw new InvalidOperationException("La cantidad de columnas de la primera matriz debe ser igual a la cantidad de filas de la segunda matriz.");
            }

            return(matrizTotalMultiplicacion);
        }
        public bool RealizarLaOperacionMatematica(double[,] matriz1)
        {
            bool resultado = false;

            double[,] matrizTranspuesta;
            var laValidacion = new Validaciones.ValidacionesDeLasMatrices();

            if (laValidacion.LaMatrizEstaVacia(matriz1))
            {
                throw new ArgumentNullException("La matriz no contiene ningún elemento");
            }
            else if ((matriz1.GetUpperBound(0) / matriz1.GetUpperBound(1)) == 1)
            {
                Especificaciones.HagaLaTranspuesta laEspecificacion =
                    new Especificaciones.HagaLaTranspuesta();
                matrizTranspuesta = laEspecificacion.RealizarLaOperacionMatematica(matriz1);

                for (int i = 0; i < matriz1.GetLength(0); i++)
                {
                    for (int j = 0; j < matriz1.GetLength(1); j++)
                    {
                        if (matrizTranspuesta[j, i] == matriz1[i, j])
                        {
                            resultado = true;
                        }
                        else
                        {
                            resultado = false;
                            return(resultado);
                        }
                    }
                }
            }
            else
            {
                throw new ArgumentException("La matriz debe de tener la misma cantidad de filas y columnas");
            }

            return(resultado);
        }
        public double[,] RealizarLaOperacionMatematica(double[,] matriz1)
        {
            double[,] matrizTranspuesta;
            var laValidacion = new Validaciones.ValidacionesDeLasMatrices();

            if (laValidacion.LaMatrizEstaVacia(matriz1))
            {
                throw new ArgumentNullException("La matriz no tiene ningún elemento");
            }
            else
            {
                matrizTranspuesta = new double[matriz1.GetLength(1), matriz1.GetLength(0)];
                for (int i = 0; i < matriz1.GetLength(0); i++)
                {
                    for (int j = 0; j < matriz1.GetLength(1); j++)
                    {
                        matrizTranspuesta[j, i] = matriz1[i, j];
                    }
                }
            }
            return(matrizTranspuesta);
        }