• Jueves 14 de Noviembre de 2024, 04:24

Autor Tema:  Solucionen este conveniente Gracias  (Leído 1071 veces)

yedson

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Solucionen este conveniente Gracias
« en: Martes 24 de Agosto de 2010, 14:48 »
0
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++
  1. #include<iostream.h>
  2. void main(void)
  3. {
  4. int i=0,s=0,n;
  5. cout<<"Ingrese N:"; cin>>n;
  6.  while(i<=n)
  7.  {
  8.   i=i+1;
  9.   s=s+i;
  10.  }
  11.  cout<<"La Suma de los "<<n<<" primeros numeros es:"<<s;
  12. }
  13.  

el codigo compila pero no me da la respuesta deseada lo que quiero es la suma de los "n" primeros numeros

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Solucionen este conveniente Gracias
« Respuesta #1 en: Martes 24 de Agosto de 2010, 19:04 »
0
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++
  1.  
  2.  while(i<n)
  3.  
  4.  

Haciendo ese pequeño cambio debe funcionar correctamente.

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

yedson

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Gracias
« Respuesta #2 en: Miércoles 25 de Agosto de 2010, 03:21 »
0
Muy agradecido espero tener respuestas tuyas, en los siguientes inconvenientes ke tenga nos vemos...