using System;

namespace MyCompiler {
    class Program {
        public static void Main(string[] args) {
            //Declara Matriz
            Console.WriteLine("Digite el valor de N (Cantidad de Filas)");
            int N = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Digite el valor de M (Cantidad de Columnas)");
            int M = Convert.ToInt32(Console.ReadLine());
            int [,]matriz = new int[N,M];
            
            // Llenar Matriz 
            //f = filas , c = columnas
            for (int f = 0; f < N; f++){
                for (int c = 0; c < M; c++){
                    //Console.WriteLine("Posicion [" + f + "][" + c + "]:");
                    matriz[f,c] = Convert.ToInt32(Console.ReadLine());
                }
            }
            
            // Llenar Matriz con Aleatorio (Random)
            Random r = new Random();
            for (int f = 0; f < N; f++){
                for (int c = 0; c < M; c++){
                    matriz[f,c] = (r.Next(1, 101));
                }
            }
            
            // Imprimir matriz
            for (int f = 0; f < N; f++){
                Console.WriteLine("");
                for (int c = 0; c < M; c++){
                    Console.Write(matriz[f,c]+"\t");
                }    
            }
            
            //Imprimir matriz inversa 
            for (int f = N-1; f >= 10; f--){
                Console.WriteLine("");
                for (int c = M-1; c >= 0; c--){
                    Console.Write(matriz[f,c]+"\t");
                }    
            }
            
            // Imprimir Diagonal principal Optimizada
            for(int f = 0; f< N; f++){
                Console.Write($" {matriz[f,f]}");
            }
            Console.WriteLine(" ");
            
            // Imprimir Diagonal principal (No Optimizada)
            for(int f = 0; f< N; f++ ){
                for(int c = 0; c < M; c++){
                    if (f == c)
                        Console.Write($"{matriz[f, c]}");
                    else
                        Console.Write("   ");
                }
                Console.WriteLine("");
            }
            
            // Imprimir triangular Superior Optimizada
            for(int f = 0; f< N-1; f++ ){
                for(int c = f+1; c < M; c++){
                   Console.Write($" {matriz[f,c]}"); 
                }
            }
            Console.WriteLine("");
            
            // Imprimir triangular Superior (No Optimizada)
            for(int f = 0; f < N; f++ ){
                for(int c = 0; c < M; c++){
                    if (c > f)
                        Console.Write($"{matriz[f, c]}");
                    else
                        Console.Write("   ");
                }
                Console.WriteLine("");
            }
            
            // Imprimir triangular Inferior (No Optimizada)
            for(int f = 0; f < N; f++ ){
                for(int c = 0; c < M; c++){
                    if (c < f)
                        Console.Write($"{matriz[f, c]} ");
                    else
                        Console.Write("   ");
                }
                Console.WriteLine("");
            }
            
            // Imprimir triangular Inferior Optimizada
            for(int f = 1; f< N; f++ ){
                for(int c = 0; c < f; c++){
                   Console.Write($" {matriz[f,c]}"); 
                }
            }
            
            // Imprimir Diagonal Secundaria (No Optimizada)
            for(int f = 0; f < N; f++ ){
                for(int c = 0; c < N; c++){
                    if ((f + c ) == N-1)
                        Console.Write($" {matriz[f, c]}");
                    else
                        Console.Write("   ");
                }
                Console.WriteLine("");
            }
            
            // Imprimir Diagonal Secundaria Optimizada
            for(int f = 0, c = N-1;f < N ; f++){
                Console.Write($" {matriz[f,c]}");
                c--;
            }
            Console.WriteLine("\n");
            
            //Imprimir Elementos en posicion pares sumando fila y columna de f0 a c7
             for (int f = 0; f < N; f ++){
                Console.WriteLine("");
                for (int c = 0; c < M; c ++){
                    if ((c + f)%2 == 0)
                    Console.Write(matriz[f,c]+"\t");
                }
            }
            
            // Buscar e imprimir menor y mayor y su posicion 
            int mayor=matriz[0,0],pos1=0,pos2=0;
            int menor=matriz[0,0],pos3=0,pos4=0;
            for (int f = 0; f < N; f++){
                for (int c = 0; c < M; c++){
                    if (matriz[f,c] > mayor) {
                        mayor = matriz[f,c];
                        pos1 = f;
                        pos2 = c;
                    }
                    if (matriz[f,c] < menor) {
                        menor = matriz[f,c];
                        pos3 = f;
                        pos4 = c;
                    }
                }    
            }
            Console.WriteLine($"el numero mayor es: {mayor} y su posicion es [{pos1},{pos2}]");
            Console.WriteLine($"el numero menor es: {menor} y su posicion es [{pos3},{pos4}]");
            
            //Buscar un dato y decir si existe o no existe
            bool band = false;
            int dato = Convert.ToInt32(Console.ReadLine());
            for (int f = 0; f < N; f++){
                for (int c = 0; c < M; c++){
                    if (matriz[f,c] == dato){
                        band = true;
                        pos =  f;
                        pos1 = c;
                    }    
                }       
            }
            Console.WriteLine(band == true? "existe en pos :[" +pos+","+pos1+"]":"No existe");
            
        }
    }
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: