Granjero obsesivo asp
En este ejemplo de vb.net aremos la construcción del
ejercicio del granjero obsesivo,
Ejercicio sacado del libro de océano el cual dice:
Un granjero tiene 36 gallinas. Por alguna razón, ha
construido un gallinero con las jaulas distribuidas
Como muestra la figura:
Coloca en cada jaula una cantidad diferente de gallina,
pudiendo haber desde 1 hasta 8 gallinas, sin repetir la cantidad en otra jaula,
teniendo tanta obsesión el granjero que
además de eso dos jaulas vecinas (no continuas por un lado ni en diagonal) no
pueden contener cantidades consecutivas de gallina. Es decir, si una jaula
contiene por ejemplo 5 gallinas, en las vecinas no puede haber ni 4 ni 6, además de que en cualquier otra jaula no podrá
haber 5 gallinas.
¿De qué modo
distribuye el granjero sus gallinas?
Para hacer este ejercicio debemos crear el diseño el cual es
el ya mostrado:
El cual consta de 8 textboxt que representarían las jaulas
donde pondremos x cantidad de gallinas
Un button que nos dirá si repartimos correctamente las
gallinas.
Leyendo el ejercicio se deben reconocer las condiciones como
ser:
- I. Números del 1 al 8
- II. Todas las jaulas con una cantidad diferente o que las mismas sumen 36
- III. No permitir cantidades consecutivas por jaulas vecinas
Definiéndolas solo faltaría editar el código
aqui el
codigo
Public Class appletenhtmlPrivate Sub ok_Click(sender As Object, e As EventArgs) Handles ok.Click'numeros del 1 al 8If (CInt(TextBox1.Text) > 0 And CInt(TextBox1.Text) <= 8 And CInt(TextBox2.Text) > 0 And CInt(TextBox2.Text) <= 8 And CInt(TextBox3.Text) > 0 And CInt(TextBox3.Text) <= 8 And CInt(TextBox4.Text) > 0 And CInt(TextBox4.Text) <= 8 And CInt(TextBox5.Text) > 0 And CInt(TextBox5.Text) <= 8 And CInt(TextBox6.Text) > 0 And CInt(TextBox6.Text) <= 8 And CInt(TextBox7.Text) > 0 And CInt(TextBox7.Text) <= 8 And CInt(TextBox8.Text) > 0 And CInt(TextBox8.Text) <= 8) ThenIf ((CInt(TextBox1.Text) + CInt(TextBox2.Text) + CInt(TextBox3.Text) + CInt(TextBox4.Text) + CInt(TextBox5.Text) + CInt(TextBox6.Text) + CInt(TextBox7.Text) + CInt(TextBox8.Text)) = 36) Then'sumen 36''------------------- no permitir cantidades consecutivas por jaulas vecinasIf ((CInt(TextBox1.Text) + 1) <> CInt(TextBox2.Text) And (CInt(TextBox1.Text) - 1) <> CInt(TextBox2.Text)) ThenIf ((CInt(TextBox1.Text) + 1) <> CInt(TextBox4.Text) And (CInt(TextBox1.Text) - 1) <> CInt(TextBox4.Text)) ThenIf ((CInt(TextBox2.Text) + 1) <> CInt(TextBox5.Text) And (CInt(TextBox2.Text) - 1) <> CInt(TextBox5.Text)) ThenIf ((CInt(TextBox4.Text) + 1) <> CInt(TextBox5.Text) And (CInt(TextBox4.Text) - 1) <> CInt(TextBox5.Text)) ThenIf ((CInt(TextBox3.Text) + 1) <> CInt(TextBox4.Text) And (CInt(TextBox3.Text) - 1) <> CInt(TextBox4.Text)) ThenIf ((CInt(TextBox5.Text) + 1) <> CInt(TextBox6.Text) And (CInt(TextBox5.Text) - 1) <> CInt(TextBox6.Text)) ThenIf ((CInt(TextBox4.Text) + 1) <> CInt(TextBox7.Text) And (CInt(TextBox4.Text) - 1) <> CInt(TextBox7.Text)) ThenIf ((CInt(TextBox5.Text) + 1) <> CInt(TextBox8.Text) And (CInt(TextBox5.Text) - 1) <> CInt(TextBox8.Text)) ThenIf ((CInt(TextBox7.Text) + 1) <> CInt(TextBox8.Text) And (CInt(TextBox7.Text) - 1) <> CInt(TextBox8.Text)) ThenMsgBox("Correcto", MsgBoxStyle.MsgBoxRight)End IfEnd IfEnd IfEnd IfEnd IfEnd IfEnd IfEnd IfEnd If''--------------------------ElseMsgBox("No repetir los numeros")End IfElseMsgBox("error numeros del 1 al 8")End IfEnd SubEnd Class
Saludos.
Descargar ejemplo:
Me puedes ayudar resolviendo el granjero obsesivoel granjero obsesivo un granjero tiene 36 gallinas. por alguna razón ha construido un gallinero con las jaulas distribuidas como muestra la figura: coloca en cada jaula una cantidad diferente de gallinas: en una jaula, una gallina; en otra, 2 gallinas; en una tercera, 3, y sigue asi hasta ubicar en la octava jaula 8 gallinas. pero lo más curioso de su obsesión es lo siguiente: en ningún caso 2 jaulas vecinas (ni contiguas por un lado, ni en diagonal) contienen cantidades consecutivas de gallinas. es decir, si una jaula contiene, por ejemplo, 5 gallinas, en las vecinas no puede haber ni 4 ni 6.
ResponderBorrarY también respondiendo está pregunta.
de qué modo distribuye el granjero sus gallinas?
Por favor es para hoy
ResponderBorrarEste comentario ha sido eliminado por el autor.
BorrarHola solo tenes que hacer el ejercicio de mi parte te compartiré una pista
ResponderBorrarordena los números del 1 al 8 pues sumados dan 36.
Procura que no sean continuos por lado: por ejemplo 3 y 4
ni diagonal(de arriba abajo) por ejemplo 7 y 8
Hola me puedes ayudar con la pregunta ¿ De qué modo distribuye el granjero sus gallinas? Por fa. Es para hoy
ResponderBorrar