Ejercicios de array con C# (2da. parte)

Esta es la segunda entrega de ejercicios resueltos con array para dominar de una vez esta estructura tan usada en C# y otros lenguajes de programación. Saber trabajar eficientemente con arrays es algo sumamente importante, ya que es la base de muchas otras estructuras de datos. Pueden ver la primera entrega de esta colección de ejercicios resueltos.

Crear un array de números aleatorios

Una buena práctica para probar nuestros algoritmos, ya sean de búsqueda, de ordenación, o cualquiera de los que hagamos aquí es crear un array de números aleatorios a partir de un tamaño. Veamos como hacer esto con la clase system.Random de C#. Veamos el código:

public int[] ArrayAleatorio(int longitud){
//Creamos un nuevo array del tamaño especificado
int [] a = new int[longitud];
//Inicializamos la clase Random
Random r = new Random();
int aleatorio = 0;
//ahora en cada posición del array insertaremos
//un numero aleatorio entre -20, y 20
for(int i=0; i<a.Lenght; i++)
{
a[i]=aleatorio.Next(-20, 20);
}
}

Vemos como cada vez que aumenta i dentro del ciclo for creamos un nuevo número aleatorio. Así tendremos un array con numeros aleatorios entre -20 y 20. El método Next de la clase Random tiene varios constructores, nosotros usamos uno que permite crear un número en un intervalo especificado. Como funcionará la clase Random? Interesante verdad? Este método lo podemos usar de cierta forma para probar algún que otro método, y hacemos algo así:

int[] numeros = ArrayAleatorio(8);
Ordenar(numeros);
Buscar(3, numeros);

Invertir un array

Bueno, veamos ahora como invertir un array de numeros:

public void Invertir(int [] a)
{
//Creamos un nuevo array del mismo tamaño
int[] b = new int[a.Lenght];
//Empezamos a copiar desde la última
//posición de a en la primera
for(int i=0; i
{
b[i]= a[a.Lengt-i-1];
}
//Como el método no retorna nada
//guardamos en a el array b
a=b;
}

Tener en cuenta que cuando hacemos a[a.Lenght -i -1], a medida que aumenta i nos vamos moviendo por a desde la ultima posición (a.Lenght -1) hasta la primera.

Calcular la suma de un array

Ahora veremos como calcular la suma de todos los elementos de un array.

public int CalculaSuma(int [] a)
{
int suma=0;
for(int i=0; i<a.Lenght; i++)
{
suma+= a[i];
}
return suma;
}

Como ven es un método muy sencillo donde solo tenemos que recorrer el array e ir aumentando la variable suma con el operador +=, que es lo mismo que hacer suma = suma+a[i].

Si tienen alguna duda, ya saben, comenten… y practiquen. En la próxima entrega veremos ejercicios un poco más complejos. Pronto estaremos buscando y ordenando elementos en un array de forma más eficiente.

Comparte este post:
  • Meneame
  • Digg
  • del.icio.us
  • Facebook
  • BarraPunto
  • Google Bookmarks
  • Reddit
  • Technorati
  • Wikio
  • LinkedIn
  • Netvibes
  • Bitacoras.com
  • Add to favorites
  • Diggita
  • email
  • MySpace
  • Twitter
4 Comentarios
  1. Ejercicios sobre arrays con C sharp | PuntoPeek.com | 12 Mayo 2009 a las 16:09

    [...] Más ejercicios resueltos de arrays en C# (Segunda parte) [...]

  2. ivanNo Gravatar | 12 Julio 2010 a las 2:10

    Esto no marcaria error?

    public int CalculaSuma(int [] a)
    {
    int suma=0;
    for(int i=0; i <——aqui?
    {
    suma+= a[i];
    }
    return suma;
    }

  3. TomyNo Gravatar | 29 Julio 2010 a las 13:47

    Hola Ivan, tienes razón… se me fue un pedazo de código, lo siento, ya está corregido

  4. edwinNo Gravatar | 29 Agosto 2010 a las 21:05

    que aporte…………son los mejore

Escribe un comentario