Dev - C++ - Programa c++

 
Vista:

Programa c++

Publicado por Numero Magico (2 intervenciones) el 30/10/2017 00:50:31
Alguien me puede apoyar ver por que no se resuelve
El problema es dar tu fecha de nacimiento y debes de sumar todos los numero para que al ultimo quede uno y ese es el numero magico.




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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
 
using namespace std;
 
int numMagico(int ano_1, int ano_2, int ano_3, int ano_4, int mes_1, int mes_2, int dia_1, int dia_2);
 
int main(int argc, char** argv) {
 
	int ano_1, ano_2, ano_3, ano_4;
	int mes_1, mes_2;
	int dia_1, dia_2;
 
	cout << "Ingresa tu aaaa/mm/dd ";
 
	cout << "Ingresa el año de nacimiento, primer numero";
	cin >> ano_1;
 
	cout << "Ingresa el año de nacimiento, segundo numero";
	cin >> ano_2;
 
	cout << "Ingresa el año de nacimiento, tercer numero";
	cin >> ano_3;
 
	cout << "Ingresa el año de nacimiento, cuarto numero";
	cin >> ano_4;
 
	cout << "Ingresa el mes de nacimiento, primer numero";
	cin >> mes_1;
 
	cout << "Ingresa el mes de nacimiento, segundo numero";
	cin >> mes_2;
 
	cout << "Ingresa el dia de nacimiento, primer numero";
	cin >> dia_1;
 
	cout << "Ingresa el mes de nacimiento, primer numero";
	cin >> dia_2;
 
	cout << " El numero magico es: "<< numMagico(ano_1, ano_2, ano_3, ano_4, mes_1, mes_2, dia_1, dia_2);
 
	return 0;
}
 
int numMagico(int ano_1, int ano_2, int ano_3, int ano_4, int mes_1, int mes_2, int dia_1, int dia_2)
{
	int num;
 
	num = ano_1 + ano_2 + ano_3 + ano_4 + mes_1 + mes_2 + dia_1 + dia_2;
 
	if(num > 9)
	{
		int num_1;
		int num_2;
 
		num_1 = num % 10;
		num_2 = num - num_1;
 
		num = num_1 + num_2;
	}
	else
	{
		num = num;
	}
 
	return num;
}
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: 499
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Programa c++

Publicado por Thanatos (189 intervenciones) el 30/10/2017 12:21:44
Luego de sumar todos los dígitos en la función numMagico, se presentarán casos en los que necesitarás hacer más de una suma adicional, por ejemplo para el 16 de marzo de 1999, la suma inicial será:

1 + 9 + 9 + 9 + 0 + 3 + 1 + 6 = 38

Al ejecutarse la sentencia if se sumarán los dos dígitos:

3 + 8 = 11

Pero no realizará la suma que falta:

1 + 1 = 2

En lugar de usar el if, podrías usar una sentencia while que repita las operaciones hasta obtener sólo un dígito.

Esta es otra manera de obtener el resultado:

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
#include <iostream>
 
using namespace std;
 
int numMagico(int, int, int);
 
int main()
{
    int anio, mes, dia;
    char separador;
 
    cout << "Ingresa tu fecha de nacimiento (aaaa/mm/dd): ";
    cin >> anio >> separador >> mes >> separador >> dia;
 
    cout << "Numero magico: " << numMagico(anio, mes, dia) << '\n';
 
    return 0;
}
 
int numMagico(int anio, int mes, int dia)
{
    int num  = (anio + mes + dia) % 9;
 
    if (num == 0)
    {
        return 9;
    }
    return num;
}

Ejemplo de entrada:
1999/03/16

Salida:
Numero magico: 2
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

Programa c++

Publicado por Jonathan (2 intervenciones) el 23/07/2020 20:33:50
Como sería este programa en c
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: 681
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Programa c++

Publicado por dario (245 intervenciones) el 24/07/2020 04:50:18
Programa en C

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
 
int main() {
  int fecha,x,s=0,s1=0;
 
  printf("Digite fecha de nacimiento (ddmmaa): ");
  scanf("%d", &fecha);
 
  while (fecha != 0) {
    x = fecha % 10;
    s = s + x;
    fecha = fecha / 10;
  }
 
  while (s != 0) {
    x = s % 10;
    s1 = s1 + x;
    s = s / 10;
  }
 
  printf("Numero magico: %d",s1);
 
  return 0;
}
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

Programa c++

Publicado por Jonathan (2 intervenciones) el 25/07/2020 00:21:38
Gracias me sirvió de mucho
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