jueves, 24 de noviembre de 2011

Clase Vector

Este ejercicio muestra el uso de una clase vector, la cual facilita el uso de arreglos unidimensionales, la clase Vector es la siguiente:

class Vector
  {
  int[] vec; 
  public Vector(int n)
{
if (n > 0)
vec = new int[n];
}

public Vector()
{ vec = new int[5]; }

public int this[int index]
{
get { return vec[index]; }
set { vec[index] = value; }
}
Este método sirve para leer el valor que se encuentra en una posicion específica del vector
public int Read(int index)
{
if (index >= vec.Length)
return -1;
else
return vec[index];
 }
Este método añade al vector un dato en el primer lugar libre
public void Add(int data)
{
for (int i = 0; i < vec.Length; i++)
{
if (vec[i] == 0)
{
vec[i] = data;
break;
}
}
}
Este método sirve para agregar un dato al vector en la posición deseada

public void Add(int data, int index)
{
vec[index] = data;
  }
Este método sirve para obtener el valor máximo del vector
public int GetMax()
{
int n = 0;
int m = vec[0];
for (int i = 1; i < vec.Length; i++)
{
n = vec[i];
if (n > m)
m = n;
}
return m;
}
 Este es un métod estático que sirve para obtener el máximo de un arreglo unidimensional
  static public int GetMax(int[] a)
{
int n = 0;
int m = a[0];
for (int i = 1; i < a.Length; i++)
{
n = a[i];
if (n > m)
m = n;
}
return m;
}
Este método sirve para obtener el mínimo del vector
public int GetMin()
{
int n = 0;
int m = vec[0];
for (int i = 1; i < vec.Length; i++)
{
n = vec[i];
if (n < m)
m = n;
}
return m;
}
 Este método sirve para encontrar el valor más repetido en el vector

public int MoreRepeated()
{
int[] temp = new int[vec.Length];
for (int i = 0; i < vec.Length; i++)
for (int j = 0; j < vec.Length; j++)
if (vec[i] == vec[j])
temp[i]++;
return vec[temp.Max()];
}

public int Length
{
get { return vec.Length; }
}
}

Dejo disponible un pequeño proyecto de Visual Studio que hace uso de ésta clase
Link: http://www.mediafire.com/?6u6s7of2y2l9bxf

No hay comentarios:

Publicar un comentario