Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Por favor NECESITO AYUDA en java :(

Iniciado por RaTHSoDiC, 11 de Febrero de 2003, 10:12:53 PM

« anterior - próximo »

RaTHSoDiC

                                :(  Vereis, quiero crear un pekeño programilla usando arrays en java (nada de javascript ni cosas de esas) en el que se represente como si fuera la sala de un cine en la que eliges los numeros de butacas k kieres reservar. Si la butaca sta ocupada la representa con una X y si sta libre con una O. Como se haría?
No hace falta el codigo fuente solo necesito la idea, pq no se me ocurre :( aunke el codigo es bienvenido :P

gracias de antemano.                                
Blog "Quiero ser creador de juegos" con info sobre libros y cursos.
http://creadorvj.blogspot.com

Mars Attacks

                                ... no entiendo exactamente cuál es el problema. No sé nada de java, pero en pseudocódigo declaras una matriz de carácteres (por ejemplo, la matriz butaca), y haces butaca[j]='O' si está libre y butaca[j]='X' si está ocupada. Para que te liste cuáles están O y cuáles X, haces dos "paras" anidados, es decir,
para n=1 hasta i hacer
para m=1 hasta j hacer
 imprime el valor butaca[n][m];
finpara;
finpara;                                

seryu

                                lo ideal seria una matriz numerica donde 0 sea butaca sin ocupar, y 1 ocupada. de tal forma qe tendrias.

butaca_x[].y[];

aunqe como los cines no suelen ser cuadrados, sino qe tienes laterales, centrales y demas qe te rompen la simetria, lo mejor es un array lineal, ordenado por el numero de butaca.

si el cine esta ordenado por filas, y dentro de cada fila tiene una serie de numero de butaca, entonces si te sirve el array bidimensional.

suerte  :ojo:                                

RaTHSoDiC

                                :D Gracias seryu, se hace asi, pero tiene que ser con una matriz bidimensional y me encuentro con el problema k dices. Los numeros tienen k ir del 1 al 64 (1,2,3...) y las filas en el array las cuenta como 0,1 0,2 0,3... Como podria hacer para k el usuario pida un numero (p ejemplo el 10) y que marke una X en el 1,1 (en este caso).                                
Blog "Quiero ser creador de juegos" con info sobre libros y cursos.
http://creadorvj.blogspot.com

Mars Attacks

                                1 - 2 - 3 - 4 - 5
6 - 7 - 8 - 9 -10
11-12-13-14-15


Quiero la butaca 13

i=13 div 5 = 2
j= 13 mod 5 = 3

Fila 2, columna 3.

butaca[j]=X                                

RaTHSoDiC

                                :o  deberia dar fila 2 columna 2 pq cuenta desde el cero. y como lo has hecho!? mod y div k significa? gracias me stais ayudando mazo.                                
Blog "Quiero ser creador de juegos" con info sobre libros y cursos.
http://creadorvj.blogspot.com

seryu

                               
Citar1 - 2 - 3 - 4 - 5
6 - 7 - 8 - 9 -10
11-12-13-14-15


Quiero la butaca 13

i=13 div 5 = 2
j= 13 mod 5 = 3

Fila 2, columna 3.

butaca[j]=X

son filas de 5 elementos, por eso es div 5.

con la division entera y el resto puedes sacarlo (xqe al ser elementos de un array no te sirve para nada los decimales).
de todas formas si lo piensas se te ocurrira a ti solo.

tengo la butaca 13, pero necesito una i..

13 / 5 (numero butacas) = 2

2 * 5 (numero butacas) = 10

13 - 10 = 3 qe son las butacas de la fila qe buscas...

espero qe asi lo comprendas mejor.

un saludo.                                

Mars Attacks

                                ¿Cuentas desde cero? Yo no he contado desde cero. Pongamos el caso del cero.

Columna
Fila 0: 0 1 2 3 4 5
Fila 1: 0 1 2 3 4 5
Fila 2: 0 1 2 3 4 5

Veámoslo como una matriz 3x6 [0..2][0..5]

la i variará de 0 a 2, la j de 0 a 5

Si quiero encontrar la butaca número 7 de la matriz (el primer cero de la segunda fila) tendré que hacer (7 div max_filas_matriz) para sacar la fila que busco (div es el cociente de la división entera) y (7 mod max_columnas_matriz) para sacar la columna que busco (mod es el módulo o resto de la división entera). 7 div 3 = 2 y 7 mod 6 = 1, es decir, fila 2, columna 1. Como hemos comenzado a contar a partir del cero sólo tienes que restarle uno al resultado de cada uno. Fila 1 columna 0.
En resumen.
Posición: [(númeroquebuscas div max_filas_matriz)-1][(númeroquebuscas mod max_columnas_matriz)-1]

En fin, no sé si te he liado más o qué. Más resumido aún, con max_f el número de filas de tu matriz (lo he escrito matrix todo el rato, cagontó) y con max_c el número de columnas de tu matriz, y num el número de butaca que quieres reservar:

butaca[(num div max_f)-1][(num mod max_c)-1]                                

RaTHSoDiC

                                Gracias, creo k ya lo pillo! decia k contaba desde cero las filas y las columnas pero se arregla restando un 1 al mod. Gracias p todo :P                                
Blog "Quiero ser creador de juegos" con info sobre libros y cursos.
http://creadorvj.blogspot.com

Mars Attacks

                                y al div también, que las filas también empiezan por cero.                                

RaTHSoDiC

                                nono, solo al mod. En el ejemplo k has puesto t tiene k dar 2,2 y a ti t dió 2,3. :P                                
Blog "Quiero ser creador de juegos" con info sobre libros y cursos.
http://creadorvj.blogspot.com

Mars Attacks

                                Pues no, antes me equivoqué. Me daba 3,3 pero puse 2, 3 porque comencé a contar desde cero, mira si soy inútil. Hay que restarle a los dos.                                

Mars Attacks

                                Me he hecho un lío yo mismo. Fíate de lo segundo que he dicho y no de lo primero. Hay que restarle uno a los dos lados. Dentro de cinco minutos me contradeciré.                                

Mars Attacks

                                Han pasado siete minutos y ya no estoy seguro de que nada de lo que te he dicho esté bien. Si hubiera tratado de elegir el 15 no funcionaría.                                

Mars Attacks

                                Vale, tenías razón tú y mi otro yo. Sólo hay que restarle uno en el mod. Voy a suicidarme un rato.

Edito: tengo que rectificar también la fórmula. Es:

butaca[num div columnas][(num mod columnas) -1]                                






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.