Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Gabrield Marquez en 05 de Enero 2016, 00:04
-
Código del ejemplo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace try_catch_1
{
class MainClass
{
public static void Main(string[] args)
{
int cfmA = GetCantidadFila("Cantidad Fila Matriz A");
int ccmA = GetCantidadFila("Cantidad Columna Matriz A");
int cfmB = GetCantidadFila("Cantidad Fila Matriz B");
int ccmB = GetCantidadFila("Cantidad Columna Matriz B");
Matriz omA = new Matriz(cfmA, ccmA);
Matriz omB = new Matriz(cfmB, ccmB);
Matriz omS;
Console.WriteLine("Cargando Matriz A");
omA.CargarMatriz();
Console.WriteLine("-------------------");
Console.WriteLine("Cargando Matriz B");
omB.CargarMatriz();
Console.WriteLine("------------------");
Console.WriteLine("Matriz A");
MostrarMatriz(omA.GetMatriz());
Console.WriteLine("----------------");
Console.WriteLine("Matriz B");
MostrarMatriz(omB.GetMatriz());
Console.WriteLine("-----------------");
try
{
omS = omA + omB;
Console.WriteLine("Matriz Suma");
MostrarMatriz(omS.GetMatriz());
Console.WriteLine("----------------");
}
catch (Exception e)
{
Console.WriteLine("Error : " + e.Message);
}
}
public static void MostrarMatriz(int[,] m)
{
int f = m.GetLength(0);
int c = m.GetLength(1);
Console.WriteLine();
for (int i = 0; i < f; ++i)
{
for (int j = 0; j < c; ++j)
{
Console.Write(" {0} \t", m[i, j]);
}
Console.WriteLine();
}
Console.WriteLine();
}
public static int GetCantidadFila(string msg)
{
return GetValor(msg);
}
public static int GetCantidadColumna(string msg)
{
return GetValor(msg);
}
private static int GetValor(string msg)
{
Boolean valorCorrecto = true;
int valor = 0;
do
{
Console.Write("{0} : ", msg);
try
{
valor = int.Parse(Console.ReadLine());
valorCorrecto = true;
}
catch (Exception e)
{
valorCorrecto = false;
Console.WriteLine("Error {0} : ", e.Message);
}
} while (!valorCorrecto);
return valor;
}
}
public class Matriz
{
private int cantFila;
private int cantColumnas;
private int[,] matriz;
public Matriz(int nf, int nc)
{
cantFila = nf;
cantColumnas = nc;
matriz = new int[nf, nc];
}
public void CargarMatriz()
{
for (int i = 0; i < this.cantFila; ++i)
{
for (int j = 0; j < this.cantColumnas; ++j)
{
bool hayError = true;
while (hayError)
{
Console.Write(" Valor ( {0}, {1}) : ", i, j);
try
{
int valor = int.Parse(Console.ReadLine());
matriz[i, j] = valor;
hayError = false;
}
catch (Exception e)
{
Console.WriteLine("Valor incorrecto, verficar......");
}
}
}
}
}
public int GetCantidadFilas()
{
return this.matriz.GetLength(0);
}
}
}