| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
eze32
Registrado: 17 Sep 2011 Mensajes: 35 Ubicación: Argentina
| Publicado: 03/05/2012 2:16 pm | | | Título: Ayuda con señales o banderas |
| Hola buenas noche quería saber si alguien podria ayudarme en este ejercicio que hace como una hora lo estoy pensando y no se como hacerlo.
Tengo que determinar en cuantos números de 4 cifras hay más números 1 que 2 (entre 1012 y 9211).Por lo menos debe haber un 1 y un 2 para considerarlo.
Hay que hacerlo con banderas.
Lo que hice fue que el numero que entra ir dividiendolo hasta que queden cada cifra por separado y ahi con if viendo todas las posibilidades, pero con bandera o señal me dijeron que mucho mas corto pero no se como hacerlo si alguien me ayuda lo agradeceria mucho. |
|
| Volver arriba | |
 |
Pantalàimon_
Registrado: 17 Jul 2007 Mensajes: 1345
| Publicado: 04/05/2012 4:26 am | | | Título: |
| A ver, la forma más intuitiva que se me ocurre sería poner 2 contadores a 0. Uno para el 1(cont1) y otro para el 2(cont2). A medida que separas las cifras vas contando los 1s y 2 que hay. Entonces la condición para que sea un número correcto es que cumpla:
cont1 > cont2 y cont2 >= 1
De todas maneras, Si resolver con banderas te refieres a usar variables que sólo pueden tomar dos valores 0 o 1. Creo que sería necesarias 4 banderas. Pues la condición para que sea correcto el número sería:
- Que no haya cero 1s - Que no haya cero 2s - Que haya más de un 1 - Que no haya más de un 2
Así que con un flag de 4 bits lo podrías resolver.
Un saludo! |
|
| Volver arriba | |
 |
eze32
Registrado: 17 Sep 2011 Mensajes: 35 Ubicación: Argentina
| Publicado: 04/05/2012 7:30 am | | | Título: |
| Muchas gracias por la ayuda funcio correcto  |
|
| Volver arriba | |
 |
|
|