Dev - C++ - ¿Como funciona este programa de C++?

 
Vista:
sin imagen de perfil

¿Como funciona este programa de C++?

Publicado por Exequiel (8 intervenciones) el 02/10/2015 18:07:56
Buenas, quisiera saber lo siguiente:

-Como llega la variable "a" a valer 47 ?

-Como actúa el If y porque al suprimirlo se altera el resultado de la suma que está en el final?

el programa es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
using namespace std;
 
 
 
int main()
{
 
int a=5;
int b=8;
 
 
 
 
 
while(a<4*b)
{
 if((a+b)%2==0)
 
 
 for(int d=a;d<3*b;d+=a+3)
	a=a+d;
	a=a+3;
 
 
 
}
 
 
cout<<a+b;
 
return 0;
 
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

¿Como funciona este programa de C++?

Publicado por agustin (522 intervenciones) el 02/10/2015 22:00:58
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main()
{
int a=5;
int b=8;
 
while(a<4*b) //mientras A sea menor que el valor de B * 4 se ejecuta el bucle
{
 if((a+b)%2==0) //Sí el resto de dividir el resultado de A + B da 0...
    for(int d=a;d<3*b;d+=a+3) // D vale igual que A y el bucle se repite mientras D sea menor que el valor de B * 3. En cada pasada suma 3 a A
	a=a+d; // le suma a A el resultado de sumar A y D
 a=a+3; // al salir del bucle le suma 3 a A
}
cout<<a+b; //muestra el resultado de sumar A y B
return 0;
}
¿por qué sale valiendo 47? Pues no se para que es exactamente esa función pero si cambias el valor de A cambia el resultado casi seguro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

¿Como funciona este programa de C++?

Publicado por Exequiel (8 intervenciones) el 02/10/2015 22:11:19
Ahora lo entendí bien
lo que yo no sabía era que la instrucción a=a+3; se realizaba saliendo del bucle

Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Como funciona este programa de C++?

Publicado por Adasdacion (1 intervención) el 02/10/2015 22:13:10
Haz las operaciones matemáticamente, con un papel , si por ejemplo a= 0 y B=1 ya no da 47
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

¿Como funciona este programa de C++?

Publicado por agustin (522 intervenciones) el 03/10/2015 10:59:40
a=a+3 es lo mismo que a+=3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar