• Miércoles 6 de Noviembre de 2024, 02:48

Autor Tema:  Necesito ayuda urgente  (Leído 1105 veces)

ralehuy

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Necesito ayuda urgente
« en: Miércoles 10 de Julio de 2002, 20:49 »
0
HOLA !, NECESITO DE SU AYUDA, primero que todo dejame decirles que soy estudiante de ingenieria civil informatica de la universidad catolica del maule y tengo que hacer un trabajo  de LENGUAJE DE PROGRAMACION por eso necesito de su colaboracion Por Favor (La tarea es para el viernes 12 de julio y de esto depende si paso el ramo o no).
El problema consiste en lo siguiente:
Tengo que hacer un programa de Lenguaje en C (no en C++)y consiste en lo siguiente.

El Doscolores es un monitor monocromatico con pantalla cuadrada formada por una matriz de 16x16 puntos, cada uno de los cuales se puede poner de color blanco o de color negro.
el monitor dibuja a partir de ciertas ordenes que recibe en forma de secuencia de caracteres; los caracteres enviados actuan no sobre toda la pantalla , sino solamente sobre un area seleccionada, que puede cambiarse mediante algunos de estos caracteres.
Incialmente, el area seleccionada es toda la pantalla, y puede suponerse que todos sus puntos son de color blanco. El caracter 'x' sirve para pintar el area seleccionada (es decir, poner todos sus puntos de color negro) e inmediatamente, volver a considerar como area seleccionada la pantalla entera.
Finalmente, los caracteres del '1' al '4' sirven para hacer más pequeña el area seleccionada, de manera que posteriores caracteres 'x' afecten e menos puntos. Concretamente, estos caracteres erscogen como nueva área seleccionada uno de los cuatro trozos siguientes:
'1' trozo superior izquierdo
'2' trozo superior derecho
'3' trozo inferior derecho
'4' trozo inferior izquierdo

Nótese, pues, que en realidad DOSCOLORES solo permite pintar uno o más cuadrados; cualquier figura compleja debe pintarse a trozos, seleccionando y pintando los cuadrados adecuados.

para dibujar una figura como la que aprece abajo, que est acompuesta por diversos cuadrados, se dibujan por separado cada uno de ellos, en cualquier orden. Para cada uno de ellos, enviaremos:
Para:
el cuadrado pequeño del vertice derecho superior: '2' '2' '2' '2' 'x'
el cuadrado grande del vertice derecho inferior: '3' 'x'
el cuadrado mediano de la izquierda: '1' '1' '3' 'x'

Por lo tanto, las seis posibles secuencias de caracteres que dibujan esta figura son:

'2' '2' '2' '2' 'x' '3' 'x' '1' '1' '3' 'x'
'2' '2' '2' '2' 'x' '1' '1' '3' 'x' '3' 'x'
'3' 'x' '2' '2' '2' '2' 'x' '1' '1' '3' 'x'
'3' 'x' '1' '1' '3' 'x' '2' '2' '2' '2' 'x'
'1' '1' '3' 'x' '2' '2' '2' '2' 'x' '3' 'x'
'1' '1' '3' 'x' '3' 'x' '2' '2' '2' '2' 'x'

se pide un programa que sea capaz de, dada una secuencia de caracteres, dibujar una figura según las reglas anteriores.
FORMATO DE LA ENTRADA (residente en el archivo de texto "dibu.dat"): varias lineas que forman una figura, cada línea corresponde a un cuadrado y consta pues de cero, uno, dos, tres o cuatro digitos entre el '1' y el '4' y , como último caracter de la línea, el caracter 'x'. Todos estos caracteres estaran separados por un unico caracter blanco.
FORMATO DE SALIDA (a guardar en el archivo de texto "dibu.out"): la figura resultante de aplicar las reglas descritas en el enunciado. Representamos la figura con 16 lineas de 16 caracteres.
Cada caracter de esta superficie 16x16 sera o bien un caracter 'o'(letra 'o') o bien un caracter 'x', segun el punto correspondiente debe ser de color blanco o de color negro.

Asi la primera secuencia de las seis que aparecen al inicio de esta pagina se almacenaria en el fichero "dibu.dat" como:
2 2 2 2 x
3 x
1 1 3 x

y el programa deberia en este caso crear el fichero "dibu.out" siguiente:
ooooooooooooooox
oooooooooooooooo
ooxxoooooooooooo
ooxxoooooooooooo
oooooooooooooooo
oooooooooooooooo
oooooooooooooooo
oooooooooooooooo
ooooooooxxxxxxxx
ooooooooxxxxxxxx
ooooooooxxxxxxxx
ooooooooxxxxxxxx
ooooooooxxxxxxxx
ooooooooxxxxxxxx
ooooooooxxxxxxxx
ooooooooxxxxxxxx

POR FAVOR AYUDAME .......
ralehuy@hotmail.com