Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Tezcat en 21 Diciembre 2013, 01:00 am



Título: Generar una lista oculta en C
Publicado por: Tezcat en 21 Diciembre 2013, 01:00 am
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


Título: Re: Generar una lista oculta en C
Publicado por: rir3760 en 21 Diciembre 2013, 01:32 am
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
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


Título: Re: Generar una lista oculta en C
Publicado por: Tezcat en 23 Diciembre 2013, 01:06 am
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:
Código:
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