Popular Post

Posted by : Unknown martes, 17 de junio de 2014

Crear una matriz de n * m filas (cargar n y m por teclado) Imprimir el mayor elemento y la fila y columna donde se almacena.

Programa:

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

namespace Matriz6
{
    class Matriz6
    {
        private int[,] mat;

        public void Cargar() 
        {
            Console.Write("Cuantas fila tiene la matriz:");
            string linea;
            linea=Console.ReadLine();
            int filas=int.Parse(linea);
            Console.Write("Cuantas columnas tiene la matriz:");
            linea=Console.ReadLine();
            int columnas=int.Parse(linea);
            mat=new int[filas,columnas];
            for(int f = 0; f < mat.GetLength(0); f++)
            {
                for(int c = 0; c  mayor) 
                    {
                        mayor=mat[f,c];
                        filamay=f;
                        columnamay=c;
                    }
                }
            }
            Console.WriteLine("El elemento mayor es:"+mayor);
            Console.WriteLine("Se encuentra en la fila:"+filamay+ " y en la columna: "+columnamay);
            Console.ReadLine();
        }

        static void Main(string[] args)
        {
            Matriz6 ma = new Matriz6();
            ma.Cargar();
            ma.ImprimirMayor();
        }
    }
}
Para obtener el mayor elemento de la matriz y la fila y columna donde se ubica debemos inicializar una variable mayor con el elemento de la fila cero y columna cero (esto lo hacemos suponiendo que en dicha posición se almacena el mayor):
         int mayor=mat[0,0];
         int filamay=0;
         int columnamay=0;
Luego mediante dos for recorremos todos los elementos de la matriz y cada vez que encontramos un elemento mayor al actual procedemos a actualizar la variable mayor y la posición donde se almacena:
            for(int f = 0; f < mat.GetLength(0); f++)
            {
                for(int c = 0; c < mat.GetLength(1); c++) 
                {
                    if (mat[f,c] > mayor) 
                    {
                        mayor=mat[f,c];
                        filamay=f;
                        columnamay=c;
                    }
                }
            }

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Programación #5 - Date A Live - Powered by Blogger - Designed by Johanes Djogan -