martes, 31 de marzo de 2009

martes, 3 de marzo de 2009

Ejercicios de Estructura de datos (Arreglos)


1. Defina un arreglo de números enteros y un arreglo de números reales. El primero permitirá almacenar las claves de un grupo de N productos (1≤ N ≤30), ordenadas crecientemente, mientras que el segundo será para guardar los precios de dichos productos. Escriba un programa en C++ que mediante un menú de opciones, permita al usuario:
a) Leer y validar el número de productos.
b) Leer la información correspondiente de cada uno de los N productos.
c) Dada la clave de un producto poder actualizar su precio.
d) Dar de baja un producto.
e) Dar de alta un nuevo producto.
f) Imprimir las claves de todos los productos cuyos precios sean mayores a uno dado como referencia por el usuario.

2. Considere que los siguientes datos representan los costos de boletos de avión entre ciudades. Cuando no existe vuelo directo entre ciudades aparece un cero, y los valores de la diagonal principal no se toman en cuenta ya que no hay vuelos de una ciudad a sí misma. Por ejemplo, en la figura 1, se representa que ir de la ciudad 0 a la ciudad 1 cuesta $1000 (lo mismo de la 1 a la 0) y que ir de la ciudad 2 a la ciudad 3 cuesta $2050 (lo mismo de la 3 a la 2). Además no hay vuelo de la ciudad 1 a la 3.

Escriba un programa en C++ que por medio de menús, permita realizar las siguientes operaciones.
a) Dado un número que identifica a una ciudad (proporcionado por el usuario) , genere un reporte de todas las ciudades destino a las que se puede llegar a partir de dicha ciudad.
b) Dado un número que identifica a una ciudad origen y otro que identifica a una ciudad destino (ambos proporcionados por el usuario) identifique si hay vuelo directo entre ambas ciudades, y si es así, su costo.
c) Genere un reporte de todas las ciudades entre las que no existen vuelos directos.