jueves, 28 de mayo de 2009

9.4 codigo

class ArregloBidimensional
{
int[,] Tabla;
int IndiceRenglon;
int IndiceColumna;
int I, J;
public ArregloBidimensional()
{
Tabla = new int[1000, 1000];
}
public ArregloBidimensional(int N, int M)
{
Tabla = new int[N, M];
IndiceRenglon = 0;
IndiceColumna = 0;
}
public void IntroduceDato(int R, int C, int X)
{
Tabla[R, C] = X;
}
public int ObtenerDato(int R, int C)
{
return tabla[R, C];
}
public int[,] tabla
{
get { return Tabla; }
set { Tabla = value; }
}
public int IndRenglon
{
get { return IndiceRenglon; }
set { IndiceColumna = value; }
}
public int IndColumna
{
get { return IndiceColumna; }
set { IndiceRenglon = value; }
}
public int SumaRenglon(int R, int NC)
{
int Suma = 0;
int I;
for (I = 0; I < NC; I++)
{
Suma = Suma + Tabla[R, I];
}
return Suma;
}
public int SumaColumna(int NR, int C)
{
int Suma = 0;
int I;
for (I = 0; I < NR; I++)
{
Suma = Suma + Tabla[I, C];
}
return Suma;
}
public int SumaTotal(int N, int M)
{
int I, J;
int Suma = 0;
for (I = 0; I < N; I++)
{
for (J = 0; J < M; J++)
{
Suma = Suma + Tabla[I, J];
}
}
return Suma;
}
public double Mayor(int N, int M)
{
double May = 0;
int AveMay = 0;
int CalleMay = 0;

for (I = 0; I < N; I++)
{
for (J = 0; J < M; J++)
{
if (Tabla[I, J] > May)
{
May = Tabla[I, J];
AveMay = I;
CalleMay = J;
}
}
}
IndiceRenglon = AveMay;
IndiceColumna = CalleMay;
return May;


}
}
}


class Program
{
static void Main(string[] args)
{
int sigue, Ave, Calle, Acc;
ArregloBidimensional Reticula = new ArregloBidimensional(10, 29);
do
{
Console.WriteLine("Registro de incidentes");
Console.WriteLine(" Numero de avenida");
Ave = int.Parse(Console.ReadLine());
Console.WriteLine("Numero de Calle");
Calle = int.Parse(Console.ReadLine());
Console.WriteLine("Numero de Accidentes");
Acc = int.Parse(Console.ReadLine());
Reticula.IntroduceDato(Ave - 1, Calle - 30, Acc);
Console.WriteLine("Presione 1 para continuar");
sigue = int.Parse(Console.ReadLine());
}
while (sigue == 1);
double PrimerMayor = Reticula.Mayor(10, 29);
int PrimerIndice_R = Reticula.IndRenglon;
int PrimerIndice_C = Reticula.IndColumna;
Reticula.tabla[PrimerIndice_R, PrimerIndice_C] = 0;
double SegundoMayor = Reticula.Mayor(10, 29);
int SegundoIndice_R = Reticula.IndRenglon;
int SegundoIndice_C = Reticula.IndColumna;
Reticula.tabla[SegundoIndice_R, SegundoIndice_C] = 0;
double TerceroMayor = Reticula.Mayor(10, 29);
int TerceroIndice_R = Reticula.IndRenglon;
int TerceroIndice_C = Reticula.IndColumna;
Console.WriteLine("El primer mayor es {0}, esta en la avenida {1} y la calle {2}", PrimerMayor, PrimerIndice_R + 1, PrimerIndice_C + 30);
Console.WriteLine("El segundo mayor es {0}, esta en la avenida {1} y la calle {2}", SegundoMayor, SegundoIndice_R + 1, SegundoIndice_C + 30);
Console.WriteLine("El tercero mayor es {0}, esta en la avenida {1} y la calle {2}", TerceroMayor, TerceroIndice_R + 1, TerceroIndice_C + 30);
Console.ReadLine();




}
}
}

No hay comentarios:

Publicar un comentario