You are on page 1of 14

FACULTAD DE INGENIERÍA

Escuela Profesional de Ingeniería de Sistemas y


Computación

Asignatura: Algoritmos y Estructuras de Datos

Mg. Jaime Ortíz Fernández


e-mail: d.jortiz@upla.edu.pe

HUANCAYO - 2022
UNIDAD I ARREGLOS MULTIDIMENSIONALES Y
PILAS

TEMA: Arreglos Paralelos

Diapositivas: Mg. Jaime Ortíz Fernández


Arreglos Paralelos
• Cuando se tiene dos o más arreglos que utilizan el mismo
subíndice para acceder a los elementos de distintos
arreglos, se denominan arreglos paralelos. Estos arreglos
pueden procesarse simultáneamente.
• Normalmente el índice común es el índice que representa
a las filas para poder manejar los datos en conjunto.
• El primer caso es el manejo de vectores en paralelo, este
mecanismo se puede también generalizar para arreglos
multidimensionales y combinación de vectores y de
arreglos multidimensionales.
Vectores Paralelos
• Son vectores tipo columna (o fila) que van a trabajar en paralelo,
es decir usarán el mismo índice
• Este concepto se da cuando hay una relación entre las
componentes de igual subíndice (misma posición) de un vector y
otro.
• Es decir varios datos de un mismo elemento, donde los datos son
de diferente tipo y por lo tanto deben almacenarse en diferentes
vectores. Los datos del mismo elemento deben almacenarse en la
misma posición en todos los vectores.
• Esta relación la conoce únicamente el programador y se hace para
facilitar el desarrollo de algoritmos que procesen los datos
almacenados en las estructuras de datos.
Ejemplo 1
• Por ejemplo se requiere manejar los nombres y edades de un
grupo de personas.
• Para este caso se debe usar un vector de strings para los nombres
y otro vector de números enteros int para almacenar las edades en
los cuales los datos de una persona deben ocupar la misma
posición en los dos vectores.
VECTORES TIPO COLUMNA

VECTORES TIPO FILA


Ejemplo 1
• Elaboramos el programa para crear y almacenar los datos en estos
dos vectores paralelos. Agregamos un método para leer los datos.

• Modificar el programa para buscar un nombre que se ingrese por


teclado y que muestre el nombre y la edad si es que se ha
encontrado el dato.
Ejemplo 2
Elaborar un programa para almacenar y leer nombres, edades,
sueldos, sexo y número de dni de un grupo de 15 personas.
Realizar búsquedas y mostrar todos los datos

ACTIVIDAD
Buscar todos los datos de los nombres que comiencen con la letra a.
Ejemplo 3
• Escribir un programa para que usando arreglos paralelos se
soliciten los datos de nombre, edad, sueldo, y sexo, donde el sexo
será un dato lógico que será VERDADERO si es masculino de lo
contrario será falso.
• Mostrar todos los datos ingresados y después mostrar los datos de
las personas de sexo masculino.
• Para solucionar este problema vamos a usar 5 vectores de tipo
columna como estructuras de datos
Arreglos Paralelos Multidimensionales
• Son arreglos multidimensionales que van a trabajar en paralelo, es
decir usarán el mismo índice para recorrer los elementos de los
arreglos.
• Por facilidad los datos de un elemento se ponen en las filas para
asemejarse a una base de datos.
Ejemplo 4
• Escribir un programa para que usando arreglos paralelos se soliciten los datos de nombre, 3 notas
vigesimales y que el programa calcule el promedio, mostrando al final del ingreso todos los datos.

• Una primera alternativa para este programa es usar 5 vectores del tipo columna como en la figura

String int int int double


nombre nota1 nota2 nota3 promedio

0 Juan 12 11 15 12.67
1 Ana 14 7 15 12.00
2 Marcos 16 12 7 11.67
La fila será el índice
3 Pablo 14 16 11 13.67
que agrupe a los datos 4 Laura 12 19 12 14.33
de un elemento, estos 5 0.00
6 0.00
datos se encuentran 7 0.00
en 5 vectores 8 0.00
diferentes 9 0.00

Solución con 4 VECTORES

nombre[2] nota1[2] nota2[2] nota3[2] promedio[2]


Primera solución
• Escribimos el código y ejecutamos el programa con 5 vectores
Segunda solución – Ejemplo 5
• Otra forma de solución es usando solamente tres estructuras de
datos, dos vectores (uno para los nombres y otro para los
promedios) y un arreglo multidimensional para las notas.
String int double
nombre nota promedio
0 1 2
Juan 12 11 15 12.67
Ana 14 7 15 12.00
Marcos 16 12 7 11.67
Pablo 14 16 11 13.67
Laura 12 19 12 14.33
0.00
0.00
0.00
0.00
0.00

Solución con 2 VECTORES y UN ARREGLO MULTIDIMENSIONAL

nombre[2] nota[2][0] nota[2][1] nota[2][2] promedio[2]


• Escribimos el programa y ejecutamos

You might also like