Ejercicios de array con C# (1ra. parte)

Aquí les dejo una pequeña colección con ejercicios resueltos de arrays en C#, que en mi opinión, son los más importantes y prácticos. Si todavía no tienen mucho conocimiento sobre esto, lean primero esta entrada donde se explica todo lo relacionado a trabajar con “arrays en C#”.

Aclarar que seguro hay mejores soluciones y mucho menos costosas a estos problemas con arrays, pero traté de resolverlos por la forma más instuitiva, para que les sirva a la mayoría. Bueno, empezemos ya:

1- Como saber cual es el número menor, el mayor y el promedio entre los elementos de un array:

Respuesta:
Para hacer todo esto recorriendo una sola vez el array, hice un método que recibe un array de int y devuelve un array de 3 elementos, donde el primero es el mayor numero del array, el segundo es el menor y el tercero el promedio entre todos los elementos del array.

Este sería el código:

1 Ejercicios de array con C# (1ra. parte)

2- Ahora queremos saber cual es el número que más se repite en un array. O sea, el número que “está de moda”.

Respuesta:
Como dije antes, este es un claro ejemplo donde hay muchas formas de resolver el problema planteado. Vamos a ver la forma más instuitiva (y no la más sencilla). Primero crearemos un array auxiliar del mismo tamaño que el array dado, donde cada elemento del array auxiliar va a ser la cantidad de veces que se repite cada numero. Así, luego solo tenemos que retornar el elemento cuya posición es la del mayor elemento del array auxiliar. Quizás me estoy enredando un poco, vamos a ver:

2 Ejercicios de array con C# (1ra. parte)
Proponemos al lector que solucione este problema por otra vía usando solamente un contador y dos ciclos for.

3- Ahora veremos un método para insertar un elemento en un array dada una posición.

Respuesta:
Esto se convierte en una tarea muy sencilla utilizando el método Array.Copy(), pero en este caso lo haremos todo nosotros. Crearemos un nuevo array del mismo tamaño que el original+1. Despues copiamos los elementos del array hasta la posicion donde se quiere ubicar el elemento x, luego a partir de ahi volvemos a copiar los elementos hasta la ultima posicion del array. Veamos:

3 Ejercicios de array con C# (1ra. parte)

Como ejercicio para entrenar te recomiendo que hagas el método Eliminar, con la siguiente signatura.

public int[] Elimina(int [] array, int posicion, int elemento){};

4- Veamos ya el último problema de estos primeros ejemplos. Supongamos que tenemos dos cadenas de texto. Necesitamos un método que devuelva true si una cadena de texto está contenida dentro de otra.
O sea, si tenemos un string “palanca”, y queremos saber si la cadena “pala” esta contenida dentro de “palanca”, el método devolvería true, en caso contrario devolvería false.
El código del método sería el siguiente:

4 Ejercicios de array con C# (1ra. parte)

Bueno, hasta aquí esta entrega, mañana o pasado mañana pondré otros 4 o 5 ejemplos resueltos sobre trabajo con arrays.

Algunos adelantos
Entre los ejercicios que veremos en próximas entregas están:
1- Invertir un array
2- Saber si una cadena de texto es palíndromo. Es decir, que se lee igual de derecha a izquierda, que de izquierda a derecha. Por ejemplo: “otto”, “somos”.
3- Sabremos como calcular el n-simo número primo
4- Rotar un array. Por ejemplo, rotar el array (1,2,3,4,5) 3 veces a la derecha, devolvería (4,5,1,2,3).

También puedas enviar un ejercicio en los comentarios y lo resolvemos aquí entre todos.

Ya está completa esta colección de ejercicios resueltos de array con C#. Estas son las otras partes:

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

Ejercicios resueltos de array con C# (3ra. parte)

Y por si no sabes ni trabajar con arrays, debes leer esto

Compártelo:
  • Meneame
  • Digg
  • del.icio.us
  • Facebook
  • BarraPunto
  • Google Bookmarks
  • Reddit
  • StumbleUpon
  • Technorati
  • TwitThis
  • Wikio
  • LinkedIn
  • Netvibes
  • Bitacoras.com
28 Comentarios
  1. Oscar MederosNo Gravatar | 13 Febrero 2009 a las 4:38

    Otra forma de hallar la moda podria ser:

    static int Moda(int[] elementos)
    {
      int moda = 0;
      int contTotal = 0;
      for (int i = 0; i < elementos.Length; i++)
        {
          int cont = 0;
          for (int j = i; j  contTotal)
            {
              contTotal = cont;
              moda = a[i];
            }
        }
     
     
        return moda;
    }

    No compile el codigo,…

    El segundo ciclo no necesita comenzar en la posición “cero” del array. Basta con que compruebe hacia adelante solamente…

    Igual se podría hacer un tin mas eficiente, llevando un control de los numeros ya comprobados para cuando cambie de posición, si ya comprobé ese numero, simplemente continuar…

    Take care bro :)

  2. adminNo Gravatar | 9 Marzo 2009 a las 15:20

    Muy buena idea, aunque decir que este programa solo se puede usar en Console Applications. Ahora estoy preparando un tutorial sobre como crear una clase Lista con muchas funcionalidades como agragar elementos, eliminarlos, ordenarlos, etc. que podrán usar en otros proyectos.

  3. lauraNo Gravatar | 15 Abril 2009 a las 11:26

    hola pzz yo queria pedirte algunos programas pero solo con if me urgen mucho ojala puedas mostrarmelos grax!!!!!!!!!!!!!!!!!!!!!!!

  4. mirnaNo Gravatar | 15 Abril 2009 a las 11:29

    Hola como estás, espero que bien, bueno podrias ponerme 20 programas con if que estén fáciles y ya resueltos por favor? Te lo agradezco de antemano.

  5. manuelNo Gravatar | 18 Abril 2009 a las 0:30

    que tal podrias resolverme estos problemitas .me urge,te lo agradeceria de antemano:

    ARRAYS
    1.- Hacer el algoritmo correspondiente a un programa, que:
    a) Crea una tabla unidimensional de 10 elementos de tipo numérico entero y
    nombre ‘numeros’.
    b) Carga la tabla con valores positivos y negativos.
    c) Muestra en pantalla cada elemento de la tabla junto con su cuadrado y su
    cubo.

    2.- Diseñar el algoritmo correspondiente a un programa, que:
    a) Crea una tabla unidimensional de 15 elementos de tipo entero y nombre
    ‘vector’.
    b) Carga la tabla con valores aleatorios.
    c) Calcula la suma de los ‘N’ primeros elementos de la tabla.
    d) Muestra el resultado obtenido, así como el contenido de la tabla en pantalla…. y mucho más…

  6. adminNo Gravatar | 18 Abril 2009 a las 12:15

    Manuel, voy a tratar de ayudarte un poco, pero no creo que pueda hacerlos todos… a lo mejor publique un post con la respuesta a algunos de tus problemas, que son bastante interesantes.

  7. Más ejercicios de array en C# | PuntoPeek.com | 3 Mayo 2009 a las 12:59

    [...] Ejercicios resueltos de array en C# [...]

  8. mariNo Gravatar | 12 Mayo 2009 a las 9:09

    hola, quisiera que pusieras el ejercicio de invertir el array de caracteres, me parece interesante

  9. adminNo Gravatar | 12 Mayo 2009 a las 14:48

    two d… lo arreglaré cuando pueda
    Mari, puedes estar segura que en la siguiente entrega lo incluiré, aunque con números enteros.

  10. Ejercicios sobre arrays con C sharp | PuntoPeek.com | 12 Mayo 2009 a las 16:05

    [...] Ejercicios resueltos de array en C# [...]

  11. ElenaNo Gravatar | 12 Mayo 2009 a las 23:50

    hola quiero que me ayude a resolver este ejercicio sea un array con 10 elementos elabore un flujograma o algotitmo que almacene los elememtos de a en otro array de forma inversa al array original por favor

  12. adminNo Gravatar | 13 Mayo 2009 a las 12:10

    Elena, ese ejercicio ya está echo, mira aquí:
    http://www.puntopeek.com/codigos-c/ejercicios-resueltos-de-c-3ra-parte/
    Una vez tienes este método, declaras el array con los 10 elementos de esta forma:

    1
    
    int [] a = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

    Luego declaras un array b donde guardas el inverso de a, así:

    1
    
    int[] b = Invertir(a);
  13. LeoNo Gravatar | 13 Mayo 2009 a las 14:15

    como hago para crear un menu en main que le de al usuario varias opciones y de ahi depende de cual quiera pasar a un metodo, por ejemplo pedir al usuario que me ingrese 3 palabras distintas y seleciionando la opcion 2 crear un metodo para mostrar la frase entera y seleccionando 3 me cuente la cantidad de letras de la frase

  14. adminNo Gravatar | 15 Mayo 2009 a las 0:04

    No entiendo lo de crear un menu en Main, pero si te refieres a separar un texto en palabras o frases, puedes usar el método Split, que le pasas un caracter de separación y te guarda todas las palabras o frases en un array de string. Ahí ya puedes hacer lo que quieras con esas palabras. Luego veré si pongo algun ejemplo.

  15. juan david chuldeNo Gravatar | 4 Junio 2009 a las 17:34

    quisera saber como se ordena un array acendente y decendentemente

  16. adminNo Gravatar | 5 Junio 2009 a las 12:50

    puedes ver una de las mejores formas de ordenar un array aquí. Ordenación por burbuja

  17. nachoNo Gravatar | 10 Junio 2009 a las 21:41

    como puedo enviar una pregunta a un datagridview por medio de un boton y con una base de datos de 36 tablas-preguntas y haciendo un metodo en una clase con una consulta select y comparando un campo numerico de la tabla con un numero aleatorio en el metodo sin que me salga herror

  18. Luis CanalesNo Gravatar | 19 Junio 2009 a las 13:09

    Necesito ingresar los meses del año en un array y una vez ingresados todos me los muestre por pantalla

  19. Avril RosmeryNo Gravatar | 7 Julio 2009 a las 13:33

    Hola, y como haces esto en php :(

  20. ProsperoNo Gravatar | 27 Agosto 2009 a las 16:42

    me gusta mucho este sitio, cuando me inscribí no lo leí casi pues estuve trabajando mucho y no tuve tiempo de nada, pero ahora que lo necesité veo que tiene muchas cosas más, por favor, los ejemplos resueltos que tengan de C# mándenmenlo.

  21. seliNo Gravatar | 11 Septiembre 2009 a las 12:26

    holas porfa kisiera el codigo en c# para relizar una boleta de notas y una de pagos en un instituto..necesito aprender..

  22. TomyNo Gravatar | 12 Septiembre 2009 a las 17:20

    Seli, si puedes mándame por correo un poco más de información sobre el proyecto, pero desde ahora te digo que si es algo serio será difícil, tienes que tener conocimiento de bases de datos, estructuras de datos, etc…

  23. seliNo Gravatar | 15 Septiembre 2009 a las 7:05

    Tomy, aun no quiero utilizar base de datos.. no se, podría utilizar arrays..

  24. seliNo Gravatar | 15 Septiembre 2009 a las 7:26

    como hago para adjuntarte un archivo,seli

  25. carlosNo Gravatar | 2 Octubre 2009 a las 18:15

    5. Realizar un programa que calcule el descuento de acuerdo a la siguiente tabla. El programa termina cuando se realiza un compra negativa

    Compra ($) Descuento
    0<=c<50 13%
    50<=c<80 12%
    80<=c<150 16%
    150<=c=250 50 + 7% de las compras superiores a 250

  26. TomyNo Gravatar | 3 Octubre 2009 a las 1:54

    No estoy seguro de entender bien el problema, que tiene que hacer en realidad el programa? Calcular el %? o de acuerdo a la cantidad que se gasta decir cual es el descuento? En cualquiera de los dos casos no parece muy complicado, dime en que tienes duda, no es muy buena idea que yo resuelva el problema por ti.

  27. andreNo Gravatar | 7 Octubre 2009 a las 9:22

    hola como hago para primero cargar un vector con 10 numeros enteros y luego comparar cada num del vector y determinar cuales son num primos, todo esto en c++.

  28. pcristianNo Gravatar | 12 Enero 2010 a las 18:52

    mi profesor me dejo unos problemas pero no lo entiendo muy bien.
    el problema es: una libreria que comercializa 5 productos diversos, maneja los siguientes arrays
    -cosuni que guarde el precio de costo de cada producto
    -prevta que guarde el precio de venta de cada producto.
    -univend que guarde las unidades vendidas en un mes.

    el programa debe calcular:
    el monto de dinero invertido
    el monto de la venta,la ganancia en cada producto y la ganancia total.

Escribe un comentario