Este concepto se da cuando hay una relación entre las componentes de igual subíndice (misma posición) de un vector y otro.

Si tenemos dos vectores de 5 elementos cada uno. En uno se almacenan los nombres de personas en el otro las edades de dichas personas.
Decimos que el vector nombres es paralelo al vector edades si en la componente 0 de cada vector se almacena información relacionada a una persona (Juan - 12 años)
Es decir hay una relación entre cada componente de los dos 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.
Desarrollar un programa que permita cargar 5 nombres de personas y sus edades respectivas. Luego de realizar la carga por teclado de todos los datos imprimir los nombres de las personas mayores de edad (mayores o iguales a 18 años)
Module Module1
Public Class PruebaVector10
Private nombres(4) As String
Private edades(4) As Integer
Public Sub Cargar()
Dim f As Integer
For f = 0 To nombres.GetUpperBound(0)
Console.Write("Ingrese nombre:")
nombres(f) = Console.ReadLine()
Console.Write("Ingrese edad:")
edades(f) = Console.ReadLine()
Next
End Sub
Public Sub MayoresEdad()
Console.WriteLine("Personas mayores de edad.")
Dim f As Integer
For f = 0 To nombres.GetUpperBound(0)
If edades(f) >= 18 Then
Console.WriteLine(nombres(f))
End If
Next
Console.ReadKey()
End Sub
End Class
Sub Main()
Dim pv As New PruebaVector10()
pv.Cargar()
pv.MayoresEdad()
End Sub
End Module
Definimos los dos vectores de 5 elementos cada uno:
Private nombres(4) As String
Private edades(4) As Integer
Mediante un For procedemos a la carga de los elementos de los vectores, es común realizar la carga en el mismo For para cargar de uno y otro al mismo tiempo:
Public Sub Cargar()
Dim f As Integer
For f = 0 To nombres.GetUpperBound(0)
Console.Write("Ingrese nombre:")
nombres(f) = Console.ReadLine()
Console.Write("Ingrese edad:")
edades(f) = Console.ReadLine()
Next
End Sub
Podemos llamar al método GetUpperBound de cualquiera de los dos vectores, ya que tienen el mismo tamaño.
Para imprimir los nombres de las personas mayores de edad verificamos cada componente del vector de edades, en caso que sea igual o mayor a 18 procedemos a mostrar el elemento de la misma posición del otro vector:
Public Sub MayoresEdad()
Console.WriteLine("Personas mayores de edad.")
Dim f As Integer
For f = 0 To nombres.GetUpperBound(0)
If edades(f) >= 18 Then
Console.WriteLine(nombres(f))
End If
Next
Console.ReadKey()
End Sub
Module Module1
Public Class PruebaVectorParalelo1
Private nombres(4) As String
Private precios(4) As Single
Public Sub Cargar()
Dim f As Integer
For f = 0 To nombres.GetUpperBound(0)
Console.Write("Ingrese el nombre del producto:")
nombres(f) = Console.ReadLine()
Console.Write("Ingrese el precio:")
precios(f) = Console.ReadLine()
Next
End Sub
Public Sub ConsultaProductos()
Dim valor As Single
Console.Write("Ingrese un precio de corte:")
valor = Console.ReadLine()
Dim f As Integer
For f = 0 To nombres.GetUpperBound(0)
If precios(f) < valor Then
Console.WriteLine("Producto:" & nombres(f) & " - " & "Precio:" & precios(f))
End If
Next
Console.ReadKey()
End Sub
End Class
Sub Main()
Dim pvp As New PruebaVectorParalelo1()
pvp.Cargar()
pvp.ConsultaProductos()
End Sub
End Module
Module Module1
Public Class PruebaVectorParalelo2
Private empleados(3) As String
Private sueldos(3) As Single
Public Sub Cargar()
Dim f As Integer
For f = 0 To empleados.GetUpperBound(0)
Console.Write("Ingrese el nombre del empleado:")
empleados(f) = Console.ReadLine()
Console.Write("Ingrese el sueldo de dicho empleado:")
sueldos(f) = Console.ReadLine()
Next
End Sub
Public Sub EmpleadosMenos2500()
Console.WriteLine("Listado de empleados que cobran menos de 2500")
Dim f As Integer
For f = 0 To empleados.GetUpperBound(0)
If sueldos(f) < 2500 Then
Console.WriteLine(empleados(f))
End If
Next
End Sub
Public Sub CantidadMas3500()
Dim cant As Integer = 0
Dim f As Integer
For f = 0 To empleados.GetUpperBound(0)
If sueldos(f) > 3500 Then
cant = cant + 1
End If
Next
Console.WriteLine("Cantidad de empleados que cobran más de 3500:" & cant)
End Sub
Public Sub GastoEnSueldos()
Dim suma As Single = 0
Dim f As Integer
For f = 0 To empleados.GetUpperBound(0)
suma = suma + sueldos(f)
Next
Console.WriteLine("Gasto total mensual en sueldos:" & suma)
Console.ReadKey()
End Sub
End Class
Sub Main()
Dim pv As New PruebaVectorParalelo2()
pv.Cargar()
pv.EmpleadosMenos2500()
pv.CantidadMas3500()
pv.GastoEnSueldos()
End Sub
End Module