Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/10/2013, 12:58
pinshidiego
 
Fecha de Ingreso: octubre-2013
Mensajes: 4
Antigüedad: 11 años, 2 meses
Puntos: 0
Problema con un if-for

Tengo un problema con este programa, muy sencillo, pero la lógica me falla, se tienen que sumar los números pares desde el numero 1 en caso de impares y del 2, en caso de pares hasta el numero x, pero no logro hacer que funcione, ej.:

cuando evaluó el numero 8, me da que la suma de los pares de 2 a 8 es 8 (????), agradecería mucho su ayuda en decirme que estoy haciendo mal, aquí está el código:





Código:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int x,sum,p,im,i;
    p=0;
    sum=0;
    im=0;
    
    cout<<"Dame un valor para hacer la suma de pares o impares\n";
    cin>>x;
    
    if(x%2==0){
               for(i=2; i<=x; i++)
               {
                        if(p%2==0){
                                 
                        sum=p+i;}
               }
               printf("La suma de los pares desde 2 hasta %d es: %d\n", x,sum);
              }
    else{
               for(i=1; i<=x; i++)
               {
                        if(im%2!=0){
                                 
                        sum=im+i;}
               }
               printf("La suma de los impares desde 1 hasta %d es: %d\n", x,sum);
         }      
                              
    system("PAUSE");
    return EXIT_SUCCESS;
}