Cita de: Mr.Captcha en 5 Julio 2013, 10:09 AMCódigo (cpp) [Seleccionar]
int num,x,result; /* Aqui estoy indicando que num tiene un valor int*/
Esto no es técnicamente correcto. Ahí estás indicando que las variables num, x y result van a utilizarse para manejar números con signo de un tamaño ( generalmente ) de 32 bits.
Es decir, ahí no estás asignando valores, solo reservando memoria para esas variables. De hecho, si haces un printf ... o un cout de cualquiera de esas variables antes de hacer el scanf verás que suelen tener valores extraños... eso es porque la memoria se ha cogido tal cual, sin inicializar.
Debido a que en c y c++ la memoria no se inicializa es necesario hacerlo de forma manual en numerosas ocasiones, como cuando vas a manejar punteros, para evitar resultados extraños.
Con lo cual, en tu programa sólo le das valor a num en la línea 8.