ayuda por favor

Iniciado por darkafor, 2 Abril 2016, 20:57 PM

0 Miembros y 1 Visitante están viendo este tema.

darkafor

Hola no tengo ni idea como hacer este ejercicio en netbeans java podria alguien ayudarme lo agradeceria con toda el alma

Don Chepe maneja su tienda de barrio como todo un Gurú de la logística y, para
ayudarlo, está su esposa doña Marta. Cada que un nuevo producto ingresa a la tienda,
don Chepe le grita a doña Marta "entra" y el código del producto. Por ejemplo, el grito
"entra 1234" significa que el producto con código 1234 ingresó al inventario de la tienda.
A don chepe no le importan mucho las unidades, solo saber cuáles productos tiene y
cuáles no. Así mismo, cuando se quedan sin existencias de un determinado producto
don Chepe grita "sale" y el código respectivo. Eso sí, don Chepe nunca se equivoca:
nuca grita "entra" de un código que ya esté en el inventario, y nunca grita "sale" de uno
que no esté.
A doña Marta le toca llevar un registro cuidadoso de todo lo que entra y todo lo que sale
para saber en cada momento qué exactamente es lo que tienen en el inventario, pues
cuando don Chepe grita "tenemos" ella debe recitar la lista de códigos que hay en el
inventario, ordenados cronológicamente según su llegada, ¿le podrías ayudar con un
programa que le facilite la vida?
Entrada
La entrada contiene una serie de "gritos", de a uno por línea y los cuales pueden ser de
tres tipos (sin comillas y sin puntuación):
 "entra", un espacio en blanco, y un número entero positivo menor a 10000
 "sale", un espacio en blanco, y un número entero positivo menor a 10000
 "tenemos"
La entrada finaliza con una línea con el texto "fin" (sin comillas)
Salida
Por cada entrada "tenemos", la salida debe tener una línea con el mensaje "tenemos"
(sin las comillas), seguida por los códigos de los productos que en ese momento se
tengan, de a uno por línea y en orden cronológico según orden de llegada.
Ejemplo de entrada
entra 1001
entra 1002
entra 1003
sale 1002
tenemos
sale 1001
entra 1002
tenemos
fin
Ejemplo de salida
tenemos
1001
1003
tenemos
1003
1002*/

arget

Sinceramente no sé de java demasiado, pero creo que podemos entendernos.
Yo creo que bastaría con declarar un array 'a' de booles de 10000 elementos, todos a 0. Cuando grita "entra 1101" tu pones a[1101] = 1. Cuando grita "sale 1101" poner a[1101] a 0.
Cuando grita "tenemos" haces un bucle recorriendo todo el array, cuando te sitúas en un elemento compruebas si está a 0 o 1, si está a uno lo muestras por pantalla, en C sería algo así:

printf("tenemos\n");
int i;
for(i = 0; i < 10000; i++)
{
   if(a[i] == 1) printf("%i\n", i);
}
La gestión manual de bloques de memoria en C es como hacer malabarismos con pastillas de jabón en la ducha de la prisión: todo diversión hasta que cometes un fallo.