Ejercicios de programación sobre arrays unidimensionales

Los arrays unidimensionales (o matrices de una dimensión) son una de las estructuras de datos más utilizadas en programación. Por eso te invito a que hagas todos los ejercicios de esta lista, para que afiances bien su uso.

Los ejercicios están ordenados por dificultad, así que te recomiendo que si los ves muy fáciles aumentes el nivel de dificultad avanzando, y al contrario si los ves muy difíciles.

  1. Llenar un array con números aleatorios.
  2. Define un array de 12 números enteros con nombre num y asigna los valores según la tabla que se muestra a continuación. Muestra el contenido de todos  los elementos del array. ¿Qué sucede con los valores de los elementos que no han sido inicializados?
Índice01234567891011
Valor233-50158927
Datos para rellenar array de ejercicio 2
  1. Define un array de 10 caracteres con nombre simbolo y asigna valores a los elementos según la tabla que se muestra a continuación. Muestra el contenido de todos los elementos del array. ¿Qué sucede con los valores de los elementos que no han sido inicializados?
Índice0123456789
Valor‘x’‘B’‘@’‘ ‘»‘9’
Datos para rellenar array de ejercicio 3
  1. Crear un vector con 5 números, sumarlos y mostrar el resultado.
  2. Para el ejercicio anterior, hacer que los 5 números se lean por teclado.
  3. Modifica el ejercicio anterior para que sume N números introducidos por el usuario.
  4. Calcular la media de una serie de números que se leen por teclado.
  5. Leer 10 números enteros por teclado y guardarlos en un array. Calcula y muestra la media de los números que estén en las posiciones pares del array.
  6. Leer 10 números enteros. Debemos mostrarlos en el siguiente orden: el primero, el último, el segundo, el penúltimo, el tercero, etc.
  7. Escribe un programa que lea 10 números por teclado y que luego los muestre en orden inverso, es decir, el primero que se introduce es el último en mostrarse y viceversa.
  8. Define tres arrays de 20 números enteros cada una, con nombres numero, cuadrado y cubo. Carga el array numero con valores aleatorios entre 0 y 100. En el array cuadrado se deben almacenar los cuadrados de los valores que hay en el array numero. En el array cubo se deben almacenar los cubos de los valores que hay en número. A continuación, muestra el contenido de los tres arrays dispuesto en tres columnas.  
  9. Realiza un programa que pida 8 números enteros y que luego muestre esos números junto con la palabra “par” o “impar” según proceda.
  10. Leer por teclado la nota de los alumnos de una clase y calcular la nota media del grupo. Mostar los alumnos con notas superiores a la media.
  11. Guardar en un array los 20 primeros números pares, empezando desde el 0.
  12. Contar el número de elementos positivos, negativos y ceros en un array de 10 enteros generados aleatoriamente.
  13. Escribe un programa que lea 15 números por teclado y que los almacene en un array. Rota los elementos de ese array, es decir, el elemento de la posición 0 debe pasar a la posición 1, el de la 1 a la 2, etc. El número que se encuentra en la última posición debe pasar a la posición 0. Finalmente, muestra el contenido del array.
  14. Leer 10 enteros y mostrar la media de los valores negativos y la de los positivos.
  15. Leer N alturas y calcular la altura media. Calcular cuántas hay superiores a la media y cuántas inferiores.
  16. Leer el nombre y sueldo de 20 empleados y mostrar el nombre y sueldo del empleado que más gana.
  17. Mostrar el mayor y el menor de una serie de 10 números leídos por teclado. Decir cuántas veces se repite cada uno de ellos.
  18. Leer por teclado una serie de 10 números enteros. La aplicación debe indicarnos si los números están ordenados de forma creciente, decreciente, o si están desordenados.
  19. Diseñar una aplicación que declare un array de 10 elementos enteros. Leer mediante el teclado 8 números. Después se debe pedir un número y una posición, insertarlo en la posición indicada, desplazando los que estén detrás.
  20. Leer 5 elementos numéricos que se introducirán ordenados de forma creciente. Éstos los guardaremos en un array de tamaño 10. Leer un número N, e insertarlo en el lugar adecuado para que la tabla continúe ordenada.
  21. Leer por teclado un array de 10 elementos numéricos enteros y una posición (entre 0 y 9). Eliminar el elemento situado en la posición dada sin dejar huecos.
  22. Escribe un programa que genere 100 números aleatorios del 0 al 20 y que los muestre por pantalla separados por espacios. El programa pedirá entonces por teclado dos valores y a continuación cambiará todas las ocurrencias del primer valor por el segundo en la lista generada anteriormente. Los números que se han cambiado deben aparecer entrecomillados.
  23. Realiza un programa que pida la temperatura media que ha hecho en cada mes de un determinado año y que muestre a continuación un diagrama de barras horizontales con esos datos. Las barras del diagrama se pueden dibujar a base de asteriscos o cualquier otro carácter.
  24. Escribe un programa que genere 20 números enteros aleatorios entre 0 y 100 y que los almacene en un array. El programa debe ser capaz de pasar todos los números pares a las primeras posiciones del array (del 0 en adelante) y todos los números impares a las celdas restantes. Utiliza arrays auxiliares si es necesario.
  25. Llena un vector de 20 posiciones con números aleatorios entre -10 y 10 y di cuántos números positivos hay.
  26. Crea un vector de 20 posiciones con números aleatorios entre 0 y 100 y di cual es el máximo y el mínimo.
  27. Llenar un vector con los 20 primeros números pares y los muestre en orden descendente
  28. Leer 5 números en un vector, crear otro vector que contenga la multiplicación por 2 de los números anteriores. Mostrarlo en forma de tabla de multiplicar.
  29. Leer 5 números en un vector, guardarlos en otro vector de forma inversa y escribir los dos vectores.
  30. Crea un array de 10 números leídos por teclado y mostrar la suma de todos, la resta de todos  y la media.
  31. Leer 10 números por teclado, calcular su media y decir cuál de los números es el más cercano a la media.
  32. Pedir 10 números por teclado, almacenarlos en un vector  y luego permitir que el usuario pregunte por la posición de un número determinado, nosotros deberemos indicarle esa posición o bien decirle que no está.
  33. Crea un array de números de un tamaño pasado por teclado, el array contendrá números aleatorios primos entre 1 y 49, indica cuál es el mayor de todos.
  34. Llenar un vector de 20 posiciones con los 20 primeros números primos
  35. Leer 10 números y ordenarlos de forma ascendente.
  36. Realiza un programa que pida 10 números por teclado y que los almacene en un array. A continuación se mostrará el contenido de ese array junto al índice (0 – 9) utilizando para ello una tabla. Seguidamente el programa pasará los números primos a las primeras posiciones, desplazando el resto de números (los que no son primos) de tal forma que no se pierda ninguno. Al final se debe mostrar el array resultante.
Índice0123456789
Valor40947775812123
Ejemplo de valores iniciales de tu matriz unidimensional
Índice0123456789
Valor75123409477812
Valores finales resultantes
  1. Realiza un programa que pida 10 números por teclado y que los almacene en un array. A continuación se mostrará el contenido de ese array junto al índice (0 – 9). Seguidamente el programa pedirá dos posiciones a las que llamaremos “inicial” y “final”. Se debe comprobar que inicial es menor que final y que ambos números están entre 0 y 9. El programa deberá desplazar todos los elementos del array a la derecha una posición, pero dejando intacto el intervalo interior. Al final se debe mostrar el array resultante. Por ejemplo, para inicial = 3 y final = 7:
Índice0123456789
Valor40947775812123
Ejemplo de valores iniciales de tu matriz unidimensional
Índice0123456789
Valor23409777584121
Valores finales resultantes
  1. Escribe un programa que rellene un array de 100 elementos con números enteros aleatorios comprendidos entre 0 y 500 (ambos incluidos). A continuación el programa mostrará el array con los números máximo y mínimo encerrados entre corchetes.
  2. Lee dos arrays distintos con 10 números enteros cada uno, que se te deberán proporcionar ordenados de forma creciente respectivamente. Crea un tercer array en el que fusionarás ambos arrays de forma que terminen todos los números ordenados.
  3. Crea un array e introduce en él 10 números que estén ordenados crecientemente. Pide un número por teclado y muestra la posición en la que este número se encuentra. Si no está, indícalo mostrando un -1.
  4. Queremos desarrollar una aplicación que nos ayude a gestionar las notas de un centro educativo. Cada grupo (o clase) está compuesto por 5 alumnos. Se pide leer las notas del primer, segundo y tercer trimestre de un grupo. Debemos mostrar al final: la nota media del grupo en cada trimestre, y la media del alumno que se encuentra en la posición N (N se lee por teclado).
  5. Escribe un programa que pida 10 palabras y las almacene en un array. A continuación haz que el array termine almacenando al comienzo del array aquellas palabras que correspondan con un color del arco iris y el resto a continuación.
  6. Un restaurante te ha encargado una aplicación para colocar a los clientes en sus mesas. En una mesa se pueden sentar de 0 (mesa vacía) a 4 comensales (mesa llena). Cuando llega un cliente se le pregunta cuántos son (dando un mensaje de error si el número de clientes es superior a 4). Para el grupo que llega, se busca siempre la primera mesa libre (con 0 personas). Si no quedan mesas libres, se busca donde haya un hueco para todo el grupo, por ejemplo si el grupo es de dos personas, se podrá colocar donde haya una o dos personas. Inicialmente, las mesas se cargan con valores aleatorios entre 0 y 4. Cada vez que se sientan nuevos clientes se debe mostrar el estado de las mesas. Los grupos no se pueden romper aunque haya huecos sueltos suficientes.
  7. Escribe un programa que rellene un array de 100 elementos con números enteros aleatorios comprendidos entre 0 y 500 (ambos incluidos). Muestra el array inicial y a continuación el programa mostrará el array con los múltiplos de 7 y de 10 resaltados entre corchetes.
  8. Crea un array de caracteres que contenga de la ‘A’ a la ‘Z’ (solo las mayúsculas). Después, ve pidiendo posiciones del array por teclado y si la posicion es correcta, se añadira a una cadena que se mostrara al final, se dejará de insertar cuando se introduzca un -1.
    Por ejemplo, si escribo los siguientes números
    0 //Añadira la ‘A’
    5 //Añadira la ‘F’
    25 //Añadira la ‘Z’
    50 //Error, inserte otro numero
    -1 //fin
    Cadena resultante: AFZ
  9. Pide al usuario por teclado una frase y pasa sus caracteres a un array de caracteres.
  10. Crea un array de números de un tamaño pasado por teclado, el array contendrá números aleatorios entre 1 y 300. Muestra aquellos números que acaben en un dígito introducido previamente por teclado (debes controlar que se introduce un numero correcto); además, estos deben guardarse en un nuevo array.
  11. Calcula la letra de un DNI, pediremos el DNI por teclado y nos devolverá el DNI completo. Para calcular la letra, cogeremos el resto de dividir nuestro dni entre 23el resultado debe estar entre 0 y 22. Haz un método donde según el resultado de la anterior formula busque en un array de caracteres la posición que corresponda a la letra. El orden de los caracteres del array es: T, R, W, A, G, M, Y, F, P, D, X, B, N, J, Z, S, Q, V, H, L, C, K, E.
    Por ejemplo, si introduzco 70588387, el resultado sera de 7 que corresponde a ‘F’.
  12. Crea un array de números y otro de String de 10 posiciones donde insertaremos notas entre 0 y 10 (debemos controlar que inserte una nota valida), pudiendo ser decimal la nota en el array de números, en el de Strings se insertaran los nombres de los alumnos.
    Después, crearemos un array de String donde insertaremos el resultado de la nota con palabras.
    • Si la nota está entre 0 y 4,99 , será un suspenso
    • Entre 5 y 6,99 , será un bien.
    • Entre 7 y 8,99 será un notable.
    • Finalmente, si está entre 9 y 10 será un sobresaliente.
    • Muestra por pantalla, el alumno su nota y su resultado en palabras. Crea los métodos que creas conveniente.

Vuelve al listado general de ejercicios de programación.