Autor Tema: No entiendo el enunciado de un ejercicio de c#  (Leído 1256 veces)

javierx0246

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 7
    • Ver Perfil
No entiendo el enunciado de un ejercicio de c#
« en: 26 de Noviembre 2022, 15:46 »
Hola queria comentar estoy empezando con un ejercicio de matriz pero no entiendo .El enunciado Y queria ver si alguien me lo pudiese explicar.





El enunciado



Escribe un programa que se encargue de controlar el aforo de un Multicine:

    El cine tendrá tres salas (A, B, C), en las cuales se pasarán diariamente tres sesiones (1ª, 2ª, 3ª).
    El número máximo de personas de cada una de las salas es:
        Sala A = 200 personas.
        Sala B = 150 personas.
        Sala C = 125 personas.
    Tendremos un menú con dos opciones:
        Venta de entradas.
        Estadística de aforo.
    Para salir del programa se tendrá que pulsar la tecla ESC.

Cada vez que se realice una venta de entradas se pedirá:

    El número de entradas que se van a comprar.
    La sala
    La sesión a la que se quiere asistir.

Las entradas vendidas quedarán registradas en la matriz bi-dimensional.
Si el número de entradas sobrepasa el aforo máximo de la sala, se indicará mediante un mensaje por pantalla



Gracias

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 988
    • Ver Perfil
Re: No entiendo el enunciado de un ejercicio de c#
« Respuesta #1 en: 26 de Noviembre 2022, 20:44 »
Hola.

Lo que necesitas es crear lo que se llama una matriz escalonada.
Es decir, una matriz cuyas filas tienen distinto número de columnas.

Normalmente usamos matrices cuyas filas tienen todas las mismas columnas. Una matriz de 3x20 por ejemplo, significa que tendrá 3 filas, y cada fila tendrá 20 columnas.

Eso es lo habitual, pero no tiene por qué ser siempre así.

Para este ejercicio necesitarás una matriz de 3 filas, pero cada fila tendrá distinto número de columnas.
La 1ª fila tendría 200 columnas (el aforo de la sala A)
La 2ª tendría 150 columnas (aforo sala B)
Y la 3ª será de 125 columnas (sala C)

En este enlace tienes una explicación de como crear una matriz escalonada.

El tipo de dato de la matriz lo escoges tú. La idea es que cada elemento de la matriz representa una butaca en una de las salas y necesitas marcar cuáles están ocupadas (porque se han vendido entradas) y cuáles están libres.

Puedes usar el tipo int por ejemplo. A las butacas libres le das valor 0 y a las ocupadas le das valor 1.
O puedes usar el tipo bool y marcar las libres como false y las ocupadas como true

Elige la que te parezca más fácil.


Entonces, en el programa cuando se pulse la opción "Vender entradas" tendrás que preguntar cuántas entradas quieren comprar y para cuál sala.
Y entonces compruebas si en la fila que corresponde a esas sala, quedan suficientes "butacas libres" (columnas con valor 0 o false)

Si no hay suficientes, la venta no es posible.
Si las hay, pues marcas esas "butacas" como ocupadas y terminas la venta.
« Última modificación: 26 de Noviembre 2022, 20:46 por Kabuto »
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".