[ Foro de BASIC ]

ancho rectangulo

02-Dec-2013 00:23
Marcos Dobarro Alvarez
7 Respuestas

hola, mi problema es que no consigo hacer la anchura del rectangulo

eh descubierto como hacer la altura pero no consigo econtrar  una manera  de hacer la anchura del rectangulo   con los astericos alguien que me pueda dar una pista ?


print "altura?"
input n1
print "anchura?"
input n2
for i = 1 to n1
print "*"
next i
for a = 1 to n2
print "*"
next a


esta a medias pero solo consigo que me salgan 8 en vez de 3x5 asteriscos
gracias :p


02-Dec-2013 00:27
Nacho Cabanes (+84)

La pregunta no es muy detallada. La he editado para recuperar una pregunta anterior, porque supongo que te referirás a esto mismo:

http://www.aprendeaprogramar.com/mod/forum/discuss.php?d=951

Una forma de hacerlo sería ésta:

Debes repetir varias filas, y cada fila tiene varias columnas:


print "altura?"
input altura
print "anchura?"
input anchura
for fila = 1 to altura
    for columna = 1 to anchura
        print "*";
    next columna
    print: rem Avance de línea
next fila



09-Dec-2013 23:51
Marcos Dobarro Alvarez

puede que sea un poco tonto pero ahora le problema esque me aparecen 6 astecricos en la primera fila y en las columnas restantes ( llevo unos dias en esta pagina y la programacio es algo desconocido para mi aun asi me gustaria aprender )


print "altura?"
input altura
print "anchura?"
input anchura
for fila = 1 to anchura
print "*";
next fila
for columna = 1 to altura 
print "*" 
next columna


gracias :)


10-Dec-2013 00:13
Nacho Cabanes (+84)

Mira con detalle mi respuesta anterior. Tienes dos fallos aún:

- Los límites están mal: las filas deben ir desde uno hasta la altura, y las columnas deben llegar hasta lo que indique la anchura, no al revés.

- Cada fila contendrá varias columnas, así que los "for" deben estar uno dentro de otro, no uno a continuación del otro.


10-Dec-2013 00:44
Marcos Dobarro Alvarez

lo eh resuelto pero aun tengo una duda
porque salen 6 asteriscos en cada linea si le pido 5 ?
Gracias


11-Dec-2013 09:19
Nacho Cabanes (+84)

Sin ver cómo ha quedado tu programa, no puedo decirte cuál es el fallo...


11-Dec-2013 22:21
Marcos Dobarro Alvarez



print "altura?"
input altura
print "anchura?"
input anchura
for fila = 1 to altura
	for columna = 1 to anchura
	print "*";
	next columna
	print "*"
	print: rem avance de linea :
next fila




12-Dec-2013 13:09
Nacho Cabanes (+84)

Efectivamente, escribes un dato de más en cada fila: después del "for" que escribe todas las columnas, basta con que te limites a avanzar de línea, te sobra un "print". Debería ser así:


print "altura?"
input altura
print "anchura?"
input anchura
for fila = 1 to altura
    for columna = 1 to anchura
        print "*";
    next columna
    print: rem avance de linea :
next fila








(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)