elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 22:35  


Tema destacado: Suscripción al boletín mensual de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Pequeña duda de este parámetro del for.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pequeña duda de este parámetro del for.  (Leído 533 veces)
Dr.Hacker++


Desconectado Desconectado

Mensajes: 1.368



Ver Perfil WWW
Pequeña duda de este parámetro del for.
« en: 30 Marzo 2011, 11:54 »

Hola quisiera saber que es lo que compara el segundo parámetro del for.

Código
int main(int argc,char *argv[]){
   char a[100];
   gets(a);
   for(int i=0;a[i];i++){
       if(a[i]==' ')a[i]='_';
   }
   puts(a);
   cin.get();
   return 0;
}


En línea

Gana dinero fácil, Elhacker.net no permite nada ilegal
Entra en mi web -> http://helpmewithmypublic.comlu.com/
Necesito pagarme internet...


d00ze13

Desconectado Desconectado

Mensajes: 70


Ver Perfil
Re: Pequeña duda de este parámetro del for.
« Respuesta #1 en: 30 Marzo 2011, 13:35 »

pues creo que es que te hace el bucle mientras a contenga i
y como cuando el bucle llega al final de la cadena introducida hace que a contenga una barra baja con lo cual se sale del bucle porque a ya no va a contener un numero sino que tendra una baarra baja
nose si me explique bien xd


« Última modificación: 30 Marzo 2011, 13:41 por d00ze13 » En línea
d00ze13

Desconectado Desconectado

Mensajes: 70


Ver Perfil
Re: Pequeña duda de este parámetro del for.
« Respuesta #2 en: 30 Marzo 2011, 13:40 »

por ejemplo si introduces la cadena hola, va a hacer esto
i=0;i[0];i++  // h
i=0;i[1];i++  // o
i=0;i[2];i++  // l
i=0;i[3];i++  // a

i=0;i[_];i++  // la barra baja y se sale del bucle ya que no cumple la condicion de que sea un entero
En línea
Saberuneko


Desconectado Desconectado

Mensajes: 1.234


The Furry Geek


Ver Perfil WWW
Re: Pequeña duda de este parámetro del for.
« Respuesta #3 en: 30 Marzo 2011, 14:46 »

El segundo parametro es la condicion de repetición. Basicamente, tal como aparece ahora, recorre el vector "a", siendo "i" la posición actual del mismo, tal como está, solo pararía con valor "0". (ya que C no tiene variables lógicas (booleanas), eso significa que el bucle parará cuando se encuentre con un "0" en el vector). <<Para C, todo es true, excepto el "0" que es considerado false>>

Dentro del bucle, lo que se hace, es sustituir los espacios en blanco " " por "_" según se encuentran.
En línea

MIAU! <3
Dr.Hacker++


Desconectado Desconectado

Mensajes: 1.368



Ver Perfil WWW
Re: Pequeña duda de este parámetro del for.
« Respuesta #4 en: 30 Marzo 2011, 14:51 »

Estaría bien ponerlo así?
Código
#include <iostream>
#include <sstream>
using namespace std;
int main(int argc,char *argv[]){
   char a[100];
   gets(a);//Leer lo que escribes y lo almacena en la variable
   for(int i=0;a[i]!=0;i++){
       if(a[i]==' ')a[i]='_';
   }
   puts(a);//muestra el contenido de la variable en la pantalla
   cin.get();
   return 0;
}
En línea

Gana dinero fácil, Elhacker.net no permite nada ilegal
Entra en mi web -> http://helpmewithmypublic.comlu.com/
Necesito pagarme internet...


D4RIO


Desconectado Desconectado

Mensajes: 996


STOP CENSORSHIP


Ver Perfil WWW
Re: Pequeña duda de este parámetro del for.
« Respuesta #5 en: 30 Marzo 2011, 15:42 »

También podrías decir que esto es válido:

Código
int i=0;
 
if (0!=(i==0))

Lo que no significa que sea legible o simple, dejalo como estaba y recuerda que esta evaluando si ese caracter existe, o hay un cero en su lugar.
En línea

RSA/RSA 4096 confiable x-hkp://keys.keysigning.org 789D025D<<back|track>> user
Saberuneko


Desconectado Desconectado

Mensajes: 1.234


The Furry Geek


Ver Perfil WWW
Re: Pequeña duda de este parámetro del for.
« Respuesta #6 en: 31 Marzo 2011, 09:03 »

Si, tal como estaba, hacía exactamente lo mismo. Ya que las condiciones fijadas en los bucles siempre siguen las reglas cierto falso, por tanto, siempre que no sea "0" o ningún carácter, va a ser cierto, y continuar con el bucle.

De todos modos, sigue siendo correcto ponerlo de esa otra forma.
En línea

MIAU! <3
Dr.Hacker++


Desconectado Desconectado

Mensajes: 1.368



Ver Perfil WWW
Re: Pequeña duda de este parámetro del for.
« Respuesta #7 en: 31 Marzo 2011, 10:18 »

OK ya se me a quedado claro el código lo cambie para entenderlo bien.
En línea

Gana dinero fácil, Elhacker.net no permite nada ilegal
Entra en mi web -> http://helpmewithmypublic.comlu.com/
Necesito pagarme internet...


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda sobre parametro post
PHP
wizache 3 633 Último mensaje 6 Agosto 2007, 10:14
por Sanjuu
Duda en C: Estructuras como parametro por referencia en funciones
Programación C/C++
nap-buf 2 4,535 Último mensaje 11 Marzo 2010, 17:57
por do-while
Insertar pequeña función en este código
Programación C/C++
Soir 2 706 Último mensaje 30 Agosto 2010, 15:23
por MazarD
problemas metodo con parametro (solucionado) era sin parametro XD
Java
RuB'n. 6 1,553 Último mensaje 25 Noviembre 2010, 16:45
por Afsoon
duda del parametro -d en iptables
Seguridad
sancakoky 2 375 Último mensaje 23 Marzo 2012, 12:12
por adastra
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines