Aplicación en una Matriz

se diseñara una aplicación de una matriz cuadrada donde calcule el promedio de su diagonal principal , su diagonal invertida y donde sume todos sus valores


empezaremos creando una clase para esta:

class Matematicaz
    {
        int[,] mat;


        public Matematicaz()
        {
            mat = new int[3, 3];
        }


        public Matematicaz(int n, int m)
        {
            if (n < 1)
                n = 3;
            if (m <1)
                m = 3;
            mat = new int[n, m];
        }


        public int this[int r, int c]
        {
            get
            {
                return mat[r, c];
            }
            set
            {
                mat[r, c] = value;
            }
        }


        public int ren
        {
            get { return mat.GetLength(0); }
        }


        public int col
        {
            get { return mat.GetLength(1); }
        }


        public int diagPrin()
        {
            int suma = 0;


            for (int i = 0; i < mat.GetLength(0); i++)
                suma += mat[i, i];


            return suma / mat.GetLength(0);
        }
        public int suma()
        {
            int s = 0;
            for (int i = 0; i < mat.GetLength(0); i++)
                for (int j = 0; j < mat.GetLength(1); j++)
                    s += mat[j, i];
            return s;
        }


        public int diagSec()
        {
            int suma = 0;


            for (int i = 0; i < mat.GetLength(0); i++)
                suma += mat[i, mat.GetLength(0) - 1 - i];


            return suma / mat.GetLength(0);
        }
      }
}
//---------------------------------------------------

static void Main(string[] args)
        {
            Random r = new Random();


            int n, m, i, j;


            Console.Write("Dar columnas : ");
            n = int.Parse(Console.ReadLine());
            Console.Write("Dar renglones : ");
            m = int.Parse(Console.ReadLine());


            Matematicaz miMatriz = new Matematicaz(n, m);
            
             
            for (i = 0; i < miMatriz.ren; i++)
            {
                for (j = 0; j < miMatriz.col; j++)
                {
                    miMatriz[i, j] = r.Next(10, 101); 
                }
            }


            for (i = 0; i < miMatriz.ren; i++)
            {
                for (j = 0; j < miMatriz.col; j++)
                {
                    Console.Write(miMatriz[i, j] + "\t"); 
                }
                Console.WriteLine();
            }


            if (miMatriz.col == miMatriz.ren)
            {
                Console.WriteLine("el promedio de la diagonal principal es :"+miMatriz.diagPrin());
                Console.WriteLine("el promedio de la diagonal invertida es :" + miMatriz.diagSec());
            }
            Console.WriteLine("la suma es :" + miMatriz.suma());
            Console.ReadKey();
        }
    }
}

No hay comentarios:

Publicar un comentario