elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
22 Agosto 2008, 06:10  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderador: ®®)
| | |-+  Problema con while[SOL]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Problema con while[SOL]  (Leído 112 veces)
Leber

Desconectado Desconectado

Mensajes: 249

"Las estrellas se apagan..."


Ver Perfil
Problema con while[SOL]
« en: 16 Abril 2008, 17:39 »

Buenas, tengo un problema es un tanto raro, tengo un programa que agrupa bits en grupos de 4, es decir, si le entras 11 el te lo convierte en 0011, pero bueno, eso ya lo tengo hecho, esa parte. El problema reside en un while, primero les pongo el codigo entero:

Código:
void grupos(char binario[])
{

  int i,o,ceros;
  char aux[40],p[3];

   i=strlen(binario);

  ceros=(i%4);
  ceros=4-ceros;

                 for(i=0;i < ceros; i++)
                   aux[i]=0+48;

 

                  for(o=0; o <= strlen(binario)-1 ; o++)
                   aux[i++]=binario[o];

 
                   aux[i]=0;

                 i=0;
                 
                 
               
                   while(i <= strlen(aux)) /*Mientras la i no valga la longitud de aux*/
                    {
                          o=0;  //inicializamos o a 0
                         
                          while( o < 4) //mientras o sea menor que 4
                             p[o++]=aux[i++]; //traspasamos los 4 primeros caracteres de  aux a p
                           
                            p[o]=0;           //ponemos fin de cadena
                           
                            printf("p->%s\n",p);  //mostramos p
                     }
                           

             


}

El problema reside aqui:

Código:
while(i <= strlen(aux)) /*Mientras la i no valga la longitud de aux*/
                    {
                          o=0;  //inicializamos o a 0
                         
                          while( o < 4) //mientras o sea menor que 4
                             p[o++]=aux[i++]; //traspasamos los 4 primeros caracteres de  aux a p
                           
                            p[o]=0;           //ponemos fin de cadena
                           
                            printf("p->%s\n",p);  //mostramos p
                     }
                           

El primer while solo se ejecuta una vez, y no entiendo el porque, ya que es:

si i vale 8, deberia ejecutarse 2 veces, pero no, solo se ejecuta una vez, y no lo comprendo, si alguien pudiera ser tan amable de a ver si encuentra el fallo...

Gracias de antemano
« Última modificación: 16 Abril 2008, 21:29 por Leber » En línea

"Solo los tontos carecen de preucupaciones." Johann Wolfgang Goethe
Leber

Desconectado Desconectado

Mensajes: 249

"Las estrellas se apagan..."


Ver Perfil
Re: Problema con while
« Respuesta #1 en: 16 Abril 2008, 21:29 »

Jaja, que tontada, y no me di cuenta, no estaba asignando ningun valor a strlen... en fin
En línea

"Solo los tontos carecen de preucupaciones." Johann Wolfgang Goethe
Páginas: [1] Ir Arriba Imprimir 
Ir a:  





Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC