SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: taniuska en Martes 3 de Enero de 2006, 10:50

Título: Se Puede Utilizar Un If Dentro De Un While??
Publicado por: taniuska en Martes 3 de Enero de 2006, 10:50
estoy haciendo un ejercicio y me da error en !=, no se pq

#include<iostream.h>
void main()

{

float i;
int suma,impar,n;

i=1;
suma=0;
impar=1;

cout<<"Introduzca los numeros impares"<<endl;
cin>>n;
while (i<=n)
   {
     if((i%2!=0))
        {
           impar=i+2;
           i=i+1;
           suma=suma+impar;
        }
        else
           i=i+1;
           suma=suma+1;
     }
     
cout<<suma<<endl;
}     

gracias de antemano
Título: Re: Se Puede Utilizar Un If Dentro De Un While??
Publicado por: eliza_marti en Martes 3 de Enero de 2006, 15:32
hola taniuska  :hola: ..declara a i como int no como float  ;)  osea:

int i;

 :hola: ..chaitos..nus vemos..espero y te sirva  :comp:


PDTA: y claro que se puede utilizar un if dentro de un While  ;)
Título: Re: Se Puede Utilizar Un If Dentro De Un While??
Publicado por: taniuska en Martes 3 de Enero de 2006, 17:05
Jo muchas gracias!!!
Ya no me da error lo q pasa q no me sale.... :(
Título: Re: Se Puede Utilizar Un If Dentro De Un While??
Publicado por: eliza_marti en Martes 3 de Enero de 2006, 17:12
mmm...pero????..que es lo que quieres hacer exactamente??... :think:
Título: Re: Se Puede Utilizar Un If Dentro De Un While??
Publicado por: taniuska en Martes 3 de Enero de 2006, 17:17
se q no se pueden poner ejercicios pero es q me estoy volviendo loca...mira
me piden q calcule la suma de los numeros impares menos que un entero positivo dado por el usuario
Es q creo q he entendido mal el problema, pq yo al principio creia que si escribiria por ejemplo 5 me sumara, los 5 primeros impares es decir:1+3+5+7+9, pero ahora mirandolo mejor a lo mejor me pide q si introduzco un 5 me calcule la suma de los impares menos que el, es decir: 1+3=4;
Que lio llevo en mi cabeza  :(
Título: Re: Se Puede Utilizar Un If Dentro De Un While??
Publicado por: taniuska en Martes 3 de Enero de 2006, 17:31
Haciendolo de la ultima forma q he pensado si que me sale, creo q esta bien

#include<iostream.h>
void main()

{


int suma,n,i;

i=1;
suma=0;

cout<<"Introduzca un numero natural hasta el cual quieras sumar los impares"<<endl;
cin>>n;
while (i<n)
   {
     if(i%2!=0)
           {
             suma=suma+i;
              i=i+1;
           }
         else
           i=i+1;
    }   
     
     
cout<<suma<<endl;
}
Título: Re: Se Puede Utilizar Un If Dentro De Un While??
Publicado por: taniuska en Martes 3 de Enero de 2006, 17:36
gracias por todo  ;)
Título: Re: Se Puede Utilizar Un If Dentro De Un While??
Publicado por: eliza_marti en Martes 3 de Enero de 2006, 17:57
me alegro taniuska que lo hayas resuelto tu solita.. :)  asi se aprende .. ;) ..aunque todavia podrias reducir más el código..mm..si te das cuenta que el i=i+1 se repite?..podrias sacarlo del if  :)  asi se achica.. :) ..es una opción más..aunque no obligatoria..bye.. :hola: nus vemos.. :comp:
Título: Re: Se Puede Utilizar Un If Dentro De Un While??
Publicado por: taniuska en Martes 3 de Enero de 2006, 19:17
gracias de nuevo!!!!
Título: Re: Se Puede Utilizar Un If Dentro De Un While??
Publicado por: punteroNULO en Miércoles 4 de Enero de 2006, 19:20
Si pretendes sumar los números impares, ¿no seria mejor sumar la variale de dos en dos?
Código: Text
  1. i=1;
  2. y después
  3. i+=2;
  4.  
  5.  
Con lo cual i= 1 -> 3 -> 5 -> 7 -> ....