Problema 4.22

Gestión de Inventario con Arreglos Paralelos

Construir un programa de gestión de inventario que trabaje con arreglos paralelos para almacenar información de productos. El programa debe realizar tres operaciones: encontrar el producto con mayor existencia, generar lista de productos a pedir al proveedor, y eliminar productos con existencia cero.

Explicación de variables

  • N: Variable de tipo entero. Indica el número de elementos que tendrán los arreglos.
  • I y J: Variables de tipo entero. Se utilizan como variables de control de los ciclos.
  • PRO y CAN: Arreglos unidimensionales de tipo entero.
  • MCA: Variable de tipo entero. Se utiliza para almacenar la existencia más alta.
  • MPR: Variable de tipo entero. Se utiliza para almacenar la clave del producto que tiene la existencia más alta.

Requisitos

  • Validar que N esté en el rango [1, 100]
  • Crear dos arreglos paralelos: PRO[] (claves) y CAN[] (existencias)
  • MAYOR: Encontrar el producto con mayor existencia
    • Inicializar MCA ← CAN[0], MPR ← PRO[0]
    • Recorrer desde I = 1 hasta N-1
    • Si CAN[I] > MCA: actualizar MCA y MPR
    • Mostrar la clave del producto con mayor existencia
  • PEDIDO: Listar productos a pedir al proveedor
    • Recorrer todos los productos
    • Si CAN[I] ≥ 1 y CAN[I] < 50: mostrar clave y cantidad a pedir (50 - CAN[I])
  • ELIMINAR: Eliminar productos con existencia cero
    • Recorrer el arreglo
    • Si CAN[I] = 0: desplazar elementos y decrementar N
    • Mostrar inventario actualizado

Ejemplo de uso esperado

// Entrada:
Ingrese el número de productos: 5
Producto 1 - Clave: 101 - Existencia: 75
Producto 2 - Clave: 102 - Existencia: 0
Producto 3 - Clave: 103 - Existencia: 25
Producto 4 - Clave: 104 - Existencia: 150
Producto 5 - Clave: 105 - Existencia: 10

// Salida MAYOR:
La clave del producto con mayor existencia es: 104
Existencia: 150 cajas

// Salida PEDIDO:
Clave: 103 - Pedir: 25 cajas
Clave: 105 - Pedir: 40 cajas

// Salida ELIMINAR:
Productos restantes: 4
Clave: 101 - Existencia: 75
Clave: 103 - Existencia: 25
Clave: 104 - Existencia: 150
Clave: 105 - Existencia: 10

Notas rápidas

Asegúrate de:

  • Los arreglos paralelos mantienen la relación: PRO[i] tiene existencia CAN[i]
  • Al eliminar elementos, desplazar todos los siguientes a la izquierda
  • Decrementar N después de eliminar para mantener el tamaño correcto
  • En Java, usar índices base 0 (ajustar del algoritmo base 1)

Tip

Este sistema de inventario usa arreglos paralelos para gestionar productos. La función ELIMINAR requiere atención especial: al eliminar un elemento, desplaza todos los siguientes hacia la izquierda y decrementa N. No incrementes I cuando eliminas, ya que el elemento siguiente ahora está en la posición actual.

📊 Diagrama de Flujo

El diagrama está dividido en cuatro partes: