gerish escribió:
1: al imprimir el array aparece el 5 de la posición 0 (tengo entendido que esa posición en este tipo de array es para indicar cuantos elementos tendrá) por lo que no debería aparecer
Uuh, a no ser que le digas expresamente que aparezca... y ¡oops! ¡lo has hecho! XDD
Citar:
y 2:
¿porqué aparecen espacios entre los números????
gracias!
Pues... ¡porqué le has dicho expresamente que aparezcan! Vaaamos con ello. El problema de fondo es que, como nos has dicho más de una vez, el manejo de los bucles se te atraganta. Si te fijas con calma y despacito, verás que lo que ese código dice textualmente es "imprimir todos los elementos del array contrasena1 desde el 0 hasta el último (inclusive) e imprimir un espacio detrás de cada uno".
Mientras te peleas con la sintaxis de los bucles (a tu ritmo y sin agobiarte) para lo que quieres hacer ahora te basta con indicar que el bucle "for" empieze a contar desde 1 y no desde cero, para lo que sustituirías la linea
Código:
for (i=0:i<=contrasena1-->0:i++)
por esta otra:
Código:
for (i=1:i<=contrasena1-->0:i++)
Si todavía no entiendes el funcionamiento de este tipo de bucle, fijate al menos donde se ha cambiado un cero por un 1, con lo que además irás comprediendo un poco cómo va el asunto.
Sobre los espacios, pues fijate que le estás diciendo:
Código:
print contrasena1-->i, " ";
Es decir "imprime el elemento i de la tabla contrasena1 y justo después imprime un espacio".
Prueba eliminando la parte del " " (el espacio conflictivo en sí), o sea, quedaría algo como:
Código:
print contrasena1-->i;
Y no dejes de probar a experimentar con bucles todo lo que necesites, tarde o temprano acabarás comprendiendo cómo funcionan (nosotros no podemos ser más claros que el manual que no entendías, así que lo mejor es ir experimentando tu mismo poco a poco)