Hola a todos,
Tengo un problema a la hora de realizar una lista oculta en C. Me refiero a crear una lista de elementos ocultos tal que cada guión represente un número:
- - - - - - -
Y que al seleccionar una posición por ejemplo la 3:
- - 2 - - - -
Y si el número es mayor que 5 el número se quede sustituyendo al guión, si no el guión vuelve a reemplazar el número. Esto ha de hacerse con un vector el vector ya lo tengo implementado, pero no se como realizar lo de los guiones. Si pudieran ayudarme o darme alguna idea de como hacer esto os lo agradecería.
Saludos
Cita de: Tezcat en 21 Diciembre 2013, 01:00 AMEsto ha de hacerse con un vector el vector ya lo tengo implementado, pero no se como realizar lo de los guiones. Si pudieran ayudarme o darme alguna idea
C no tiene vectores supongo te refieres a un array, ¿Correcto?
Debes utilizar un array para almacenar cada uno de los números (mas bien dígitos) y para visualizarlos debes utilizar otro array para almacenar el estado de cada dígito (visible u oculto). Este puede ser un array de caracteres donde el valor uno indica que debe imprimirse el dígito y el valor cero que debe imprimirse un guion.
Un saludo
Ya encontré la forma, declaré un array de caracteres como bien dices y lo llene de guiones, después use este código, donde lista1 es un array donde metí los dígitos, tam el tamaño del vector y pos la posición que quiero imprimir:
for (i=0;i<tam;i++) {
if (i==pos) {
oculto[i]=lista1[pos];
printf("%d\t", oculto[i]);
}
else printf("%c\t", oculto[i]);
}
Muchas gracias por tu ayuda.
Saludos