[C con Clase] Ayuda Ejemplo 6.3 de Curso de C++
Julian Felipe Farfan Benitez
julianfelipefarfan en hotmail.com
Sab Mar 3 01:16:23 CET 2012
El pasado 2012-03-03 00:08:57, Steven Davidson escribió:
SD> Hola Julián,
SD> 2012/3/3 Julian Felipe Farfan Benitez <julianfelipefarfan en hotmail.com>:
SD> > He utilizado el siguiente codigo para representar el ejercicio 6.3:
SD> >
SD> Creo que te refieres al ejemplo 6.4.
SD> >
SD> > #include<iostream>
SD> > using namespace std;
SD> >
SD> > int main()
SD> > {
SD> > int x=1;
SD> >
SD> > do{
SD> > cout<<x<<",";
SD> > x+=4;
SD> > cout<<x<<",";
SD> > x-=2;
SD> > }while(x!=23);
SD> >
SD> >
SD> >
SD> > system("pause");
SD> > }
SD> >
SD> > ---------------------------------------------------------------------------
SD> >
SD> > Pero sin embargo el resultado no es el ideal quisiera saber en que estoy fallando gracias.
SD> >
SD> El problema es que 'x' guarda el valor de 23 al hacer la suma de 4.
SD> Sin embargo, no hay ninguna comprobación en este momento, así que
SD> continúa ejecutándose la siguiente resta de 2 en esta iteración. Al
SD> comprobar 'x', ésta contiene el valor de 21 y como no es 23, seguimos
SD> iterando. Aparecen los valores 21 y 25 en pantalla y al comprobar 'x',
SD> ésta contiene 23 y por tanto se termina el bucle.
SD> Tendrías que terminar el bucle justo después de sumar 4 a 'x', ya que
SD> en este ejemplo es cuando se produce el primer número 23.
SD> Espero haber aclarado la duda.
SD> Steven
SD> _______________________________________________
SD> Lista de correo Cconclase Cconclase en listas.conclase.net
SD> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
SD> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Muchas Gracias si la solucion que le di fue iniciar el ciclo por fuera es decir ejecutarlo una vez por fuera e iniciar el ciclo con la resta de la siguiente manera:
*-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-*
#include<iostream>
using namespace std;
int main()
{
int x=1;
cout<<x<<",";
x+=4;
do{
x-=2;
cout<<x<<",";
x+=4;
if(x==23)
cout<<x<<".";
else
cout<<x<<",";
}while(x!=23);
system("pause");
}
*-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-**-*-*
Más información sobre la lista de distribución Cconclase