[ Foro de BASIC ]
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
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
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 :)
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.
lo eh resuelto pero aun tengo una duda
porque salen 6 asteriscos en cada linea si le pido 5 ?
Gracias
Sin ver cómo ha quedado tu programa, no puedo decirte cuál es el fallo...
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
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.)