Programación General => C/C++ => Mensaje iniciado por: yedson en Martes 24 de Agosto de 2010, 14:48
Título: Solucionen este conveniente Gracias
Publicado por: yedson en Martes 24 de Agosto de 2010, 14:48
Por favor ayuden con este codigo, no entiendo el pseudocodigo, lo hice como mas o menos estaba en un libro pero no me da la respuesta deseada
Código: C++
#include<iostream.h>
void main(void)
{
int i=0,s=0,n;
cout<<"Ingrese N:";cin>>n;
while(i<=n)
{
i=i+1;
s=s+i;
}
cout<<"La Suma de los "<<n<<" primeros numeros es:"<<s;
}
el codigo compila pero no me da la respuesta deseada lo que quiero es la suma de los "n" primeros numeros
Título: Re: Solucionen este conveniente Gracias
Publicado por: ProfesorX en Martes 24 de Agosto de 2010, 19:04
El problema esta la condicion del while, preguntas si i < n (n es el limite) pero dentro del ciclo incrementas i antes de sumar el numero, por lo tanto i siempre contendra un numero siguiente al limite, y te sumara un numero mas, o sea que si quieres la suma de los numeros del 1 al 6, te sumara del 1 al 7, si quieres del 1 al 7 te sumara hasta el 8 y asi sucesivamente.
La solucion seria cambiar la condicion de while de menor o igual a solo menor:
Código: C++
while(i<n)
Haciendo ese pequeño cambio debe funcionar correctamente.
Saludos :)
Título: Gracias
Publicado por: yedson en Miércoles 25 de Agosto de 2010, 03:21
Muy agradecido espero tener respuestas tuyas, en los siguientes inconvenientes ke tenga nos vemos...