Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Alguien me podria ayudar con esto? Gracias

Estas en el tema de Alguien me podria ayudar con esto? Gracias en el foro de C/C++ en Foros del Web. Hola!, soy nuevo en este foro, sé que para algunos pensaran y este quiere que le hagamos este programa porque sí? Bueno yo ando estudiando ...
  #1 (permalink)  
Antiguo 15/04/2012, 22:32
 
Fecha de Ingreso: abril-2012
Mensajes: 1
Antigüedad: 12 años
Puntos: 0
Alguien me podria ayudar con esto? Gracias

Hola!, soy nuevo en este foro, sé que para algunos pensaran y este quiere que le hagamos este programa porque sí? Bueno yo ando estudiando y este problema me gustó y bueno no es tarea ni nada pero me gustaría alguien que me ayudase a resolverlo o algo, mi mayor duda es la siguiente: Como hacer para tener numeros del 0 al 2012, pero que tenga los digitos 1,6,8,9. Ayuda? Aquí el problema:


Los numeros enrevesados son aquellos que solo estan formados por digitos 1,6,8,9 en los cuales se cambia el 6 por el 9 y el 9 por el 6.. Por ejemplo el numero 199686 y 99661 son enrevesados resulta obvio que una pareja de años enrevesados sera 1999 y 6661 muestre las parejas de años enrevesados hasta la actualidad. ¿Cuántos son?

Trabajo con el Dev C++.

Saludos y gracias!
  #2 (permalink)  
Antiguo 16/04/2012, 09:15
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 3 meses
Puntos: 94
Respuesta: Alguien me podria ayudar con esto? Gracias

Hola! la forma para no complicarse mucho es usar un arreglo para tener cada digito en una posicion. Luego haces la comprobacion de cada digito para afirmar que son numeros enrevesados y listo

Saludos
  #3 (permalink)  
Antiguo 16/04/2012, 09:45
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Alguien me podria ayudar con esto? Gracias

Te dejo una ayuda. Como necesitas obtener el inverso ademas de hacer la tranformacion. Aca tenes la funcion reverse que da vuelta el numero

Código C++:
Ver original
  1. int reverse(int n)
  2. {
  3.      int resultado = 0;
  4.      while(n > 0) {
  5.         resultado = resultado * 10 + n % 10;
  6.         n /= 10;
  7.      }
  8.       return resultado;
  9.  
  10. }

En la funcion reverse, n % 10 es el digito de la unidad que corresponde con cada iteracion. Podrias capturar ese digito y filtrar si es 1 6 9 8. Si no es simplimetes la funcion devuelve un numero negativo y asi filtras los numeros esos.

te faltaria hacer la conversion del 6 por el 9 que no es nada dificil.

Saludos, espero haberte guidado un poco.

Etiquetas: gracias, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:27.