Este concepto se da cuando hay una relación entre las componentes de igual subíndice (misma posición) de un array y otro.
Si tenemos un array de tipo string en la que se almacenan los nombres de personas y un array de 5 enteros en la que se almacenan las edades de dichas personas, decimos que el array nombres es paralelo al array edades si en la componente 0 del array de nombres se almacena información relacionada a una persona (Juan - 12 años)
Es decir hay una relación entre cada componente del array de nombres y el array de las edades.
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)
package main import "fmt" func main() { var edades [5]int var nombres [5]string for f := 0 ; f < len(edadades); f++ { fmt.Print("Ingrese nombre:") fmt.Scan(&nombres[f]) fmt.Print("Ingrese edad:") fmt.Scan(&edades[f]) } fmt.Println("Personas mayores de edad.") for f := 0; f < len(edadades); f++ { if edades[f] >= 18 { fmt.Print(nombres[f]," ") } } }
Mediante un for procedemos a la carga de cada nombre y su edad:
for f := 0 ; f < len(edadades); f++ { fmt.Print("Ingrese nombre:") fmt.Scan(&nombres[f]) fmt.Print("Ingrese edad:") fmt.Scan(&edades[f]) }
Para imprimir los nombres de las personas mayores de edad verificamos cada componente del array de edades, en caso que sea igual o igual a 18 procedemos a mostrar el elemento de la misma posición del otro array:
fmt.Println("Personas mayores de edad.") for f := 0; f < len(edadades); f++ { if edades[f] >= 18 { fmt.Print(nombres[f]," ") } }
ejercicio073.go #include<stdio.h> void cargar(char productos[5][41],float precios[5]) { int f; for(f=0;f<5;f++) { printf("Ingrese el nombre del producto:"); gets(productos[f]); printf("Ingrese su precio:"); scanf("%f",&precios[f]); fflush(stdin); } } void precioMayorPrimero(float precios[5]) { int f; int cant=0; for(f=1;f<5;f++) { if (precios[f]>precios[0]) { cant++; } } printf("La cantidad de productos con un precio mayor al primero ingresado son:%i",cant); } void imprimir(char productos[5][41],float precios[5]) { int f; for(f=0;f<5;f++) { printf("Producto: %s - Precio: %0.2f\n",productos[f],precios[f]); } } int main() { char productos[5][41]; float precios[5]; cargar(productos,precios); imprimir(productos,precios); precioMayorPrimero(precios); getch(); return 0; } ejercicio074.go #include<stdio.h> void cargar(char nombres[4][40],int notas[4]) { int f; for(f=0;f<4;f++) { printf("Ingrese nombre del alumno:"); gets(nombres[f]); printf("Ingrese su nota:"); scanf("%i",¬as[f]); fflush(stdin); } } void imprimirEstado(char nombres[4][40],int notas[4]) { int f; for(f=0;f<4;f++) { printf("%s %i ",nombres[f],notas[f]); if (notas[f]>=8) { printf("Muy bueno"); } else { if (notas[f]>4) { printf("Bueno"); } else { printf("Insuficiente"); } } printf("\n"); } } void cantidadAlumnosMuyBuenos(int notas[4]) { int f; int cant=0; for(f=0;f<4;f++) { if (notas[f]>=8) { cant++; } } printf("Cantidad de alumnos muy buenos:%i",cant); } int main() { char nombres[4][40]; int notas[4]; cargar(nombres,notas); imprimirEstado(nombres,notas); cantidadAlumnosMuyBuenos(notas); getch(); return 0; }