elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda Programa M-Alternante
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda Programa M-Alternante  (Leído 2,541 veces)
Edmec

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Ayuda Programa M-Alternante
« en: 15 Abril 2014, 15:39 pm »

Buenos días compañeros,

Tengo un problema el quiero solicitar su valiosa ayuda.  (solo busco un tip, idea que me pueda ayudar a resolver el problema)

El problema es el siguiente:

Un número entero positivo se dice M-alternante si : El primer dígito es par entonces los 2 dígitos siguientes deben ser impares, luego los tres siguientes dígitos deben ser pares y así sucesivamente.

Por ejemplo: 122357 es un número M-alternante de orden 3
Lo que no encuentro como hacer es para ir comparando si el primero es par, y luego los siguientes 2 de la cadena sean impares y luego los siguientes 3 de la cadena sean impares.

Les agradezco mucho cualquier tip que me puedan dar,





En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Ayuda Programa M-Alternante
« Respuesta #1 en: 15 Abril 2014, 16:09 pm »

Convierte el número a cadena. Después puedes diseñar una función recursiva en la que, en base al número de pasos, sepa cuántos dígitos debe comparar y si estos han de ser pares o impares.


En línea

Edmec

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Ayuda Programa M-Alternante
« Respuesta #2 en: 15 Abril 2014, 17:32 pm »

Gracias por tu ayuda,

te cometo que esa parte si la he logrado resolver, he ingresado el numero en un string, para ir manipulando cada caracter por separado (Claro haciendo las conversiones necesarias). y verificar con mod (%) si es par o impar.

Pero lo que se me esta complicando es el procedimiento que vaya alternando 1 primero par, luego los siguientes 2 impares, luego los siguientes 3 pares, luego siguientes 4 impares, asi sucesivamente.

1 par
siguientes 2 posiciones impares
siguientes 3 posiciones pares
siguientes 4 posiciones impares
siguientes 5 posiciones pares
asi sucesivamente para Numeros de N posiciones.

Nuevamente gracias por tu ayuda,
En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Ayuda Programa M-Alternante
« Respuesta #3 en: 15 Abril 2014, 20:56 pm »

Una función recursiva que reciba dos parámetros: la cadena (un puntero) y el paso (un entero).

La llamada a la función desde el main se hace pasando como paso un 0.

La función calcula, en base al paso, la posición desde la que debe empezar a comprobar, la cantidad de cifras a chequear y si éstas deben ser pares o impares:

* paso 0: 1 cifra, empieza en 0 y debe ser par
* paso 1: 2 cifras, empieza en 1 y deben ser impares
* paso 2: 3 cifras, empieza en 3 y deben ser pares
...

Si la comprobación es correcta se vuelve a llamar a sí misma incrementando el paso en 1 y retornando la salida de esta última llamada.

Si, en cambio, ha llegado al final de la cadena, retorna un 1.

Si no se cumple la validación, retorna un 0.

Después de todo el proceso, si tienes un 1 es que el número es M-Alternante y si es un 0... pues no.
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Ayuda Programa M-Alternante
« Respuesta #4 en: 16 Abril 2014, 00:11 am »

Sinó, puedes hacer 2 bucles encadenados. El mayor va contando desde i=1 hasta ..., y el otro cuenta desde j=1 hasta i. Así, j es 1, 2, 3, etc. Si i es par, compruebas que sea par; si i es impar, compruebas que sea impar (o al revés).

Es una idea, para saltarse la recursividad.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA CON PROGRAMA
Diseño Gráfico
Luisango 1 2,441 Último mensaje 17 Abril 2005, 13:25 pm
por Sub_Cero
ayuda con mi programa
Programación Visual Basic
nitrox 2 2,340 Último mensaje 31 Julio 2005, 00:48 am
por Slasher-K
ayuda programa!!
Programación C/C++
rodrigo_103 4 3,358 Último mensaje 16 Septiembre 2012, 21:58 pm
por rodrigo_103
[Ayuda] ¿Cómo ejecutar otro programa desde mi programa de C#?
.NET (C#, VB.NET, ASP)
Zodiak98 1 6,107 Último mensaje 8 Diciembre 2013, 01:51 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines