Foros del Web » Programación para mayores de 30 ;) » .NET »

Pasar programa de Ciclo if a for (cuadro magico)

Estas en el tema de Pasar programa de Ciclo if a for (cuadro magico) en el foro de .NET en Foros del Web. Bueno como primero este es un codigo que elabore en clase de un cuadro magico de 1 a 9. 3x3 Como puedo pasarlo a ciclo ...
  #1 (permalink)  
Antiguo 17/11/2013, 23:36
 
Fecha de Ingreso: noviembre-2013
Mensajes: 16
Antigüedad: 11 años
Puntos: 0
Pasar programa de Ciclo if a for (cuadro magico)

Bueno como primero este es un codigo que elabore en clase de un cuadro magico de 1 a 9. 3x3

Como puedo pasarlo a ciclo for ?

PD : para evitar comentarios como :"aca no hacemos tareas escolares" o cosas asi.
no estoy diciendo que me hagan esto simplemente que me puedan dar guias o ayudas para un mejor aprendizaje y hacer el programa.


gracias :D





Public Class Form1
Dim a(2, 2) As Integer
Dim sum1, sum2, sum3, sum4, sum5, sum6, sum7, sum8 As Integer
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
a(0, 0) = TextBox1.Text
a(0, 1) = TextBox2.Text
a(0, 2) = TextBox3.Text
a(1, 0) = TextBox4.Text
a(1, 1) = TextBox5.Text
a(1, 2) = TextBox6.Text
a(2, 0) = TextBox7.Text
a(2, 1) = TextBox8.Text
a(2, 2) = TextBox9.Text
sum1 = a(0, 0) + a(0, 1) + a(0, 2)
sum2 = a(1, 0) + a(1, 1) + a(1, 2)
sum3 = a(2, 0) + a(2, 1) + a(2, 2)
sum4 = a(0, 0) + a(1, 0) + a(2, 0)
sum5 = a(0, 1) + a(1, 1) + a(2, 1)
sum6 = a(0, 2) + a(1, 2) + a(2, 2)
sum7 = a(0, 0) + a(1, 1) + a(2, 2)
sum8 = a(0, 2) + a(1, 1) + a(2, 0)

If sum1 = 15 And sum2 = 15 And sum3 = 15 And sum4 = 15 And sum5 = 15 And sum6 = 15 And sum7 = 15 And sum8 = 15 Then
If a(0, 0) <> a(0, 1) Or a(0, 0) <> a(0, 2) Or a(0, 0) <> a(1, 0) Or a(0, 0) <> a(1, 1) Or a(0, 0) <> a(1, 2) Or a(0, 0) <> a(2, 0) Or a(0, 0) <> a(2, 1) Or a(0, 0) <> a(2, 2) Then
If a(0, 1) <> a(0, 0) Or a(0, 1) <> a(0, 2) Or a(0, 1) <> a(1, 0) Or a(0, 1) <> a(1, 1) Or a(0, 1) <> a(1, 2) Or a(0, 1) <> a(2, 0) Or a(0, 1) <> a(2, 1) Or a(0, 1) <> a(2, 2) Then
If a(0, 2) <> a(0, 0) Or a(0, 1) <> a(0, 2) Or a(0, 2) <> a(1, 0) Or a(0, 2) <> a(1, 1) Or a(0, 2) <> a(1, 2) Or a(0, 2) <> a(2, 0) Or a(0, 2) <> a(2, 1) Or a(0, 2) <> a(2, 2) Then
If a(1, 0) <> a(0, 0) Or a(0, 1) <> a(1, 0) Or a(0, 2) <> a(1, 0) Or a(1, 0) <> a(1, 1) Or a(1, 0) <> a(1, 2) Or a(1, 0) <> a(2, 0) Or a(1, 0) <> a(2, 1) Or a(1, 0) <> a(2, 2) Then
If a(1, 1) <> a(0, 0) Or a(0, 1) <> a(1, 1) Or a(0, 2) <> a(1, 1) Or a(1, 0) <> a(1, 1) Or a(1, 1) <> a(1, 2) Or a(1, 1) <> a(2, 0) Or a(1, 1) <> a(2, 1) Or a(1, 1) <> a(2, 2) Then
If a(1, 2) <> a(0, 0) Or a(0, 1) <> a(1, 2) Or a(0, 2) <> a(1, 2) Or a(1, 0) <> a(1, 2) Or a(1, 1) <> a(1, 2) Or a(1, 2) <> a(2, 0) Or a(1, 2) <> a(2, 1) Or a(1, 2) <> a(2, 2) Then
If a(2, 0) <> a(0, 0) Or a(0, 1) <> a(2, 0) Or a(0, 2) <> a(2, 0) Or a(1, 0) <> a(2, 0) Or a(1, 1) <> a(2, 0) Or a(1, 2) <> a(2, 0) Or a(2, 0) <> a(2, 1) Or a(2, 0) <> a(2, 2) Then
If a(2, 1) <> a(0, 0) Or a(0, 1) <> a(2, 1) Or a(0, 2) <> a(2, 1) Or a(1, 0) <> a(2, 1) Or a(1, 1) <> a(2, 1) Or a(1, 2) <> a(2, 1) Or a(2, 0) <> a(2, 1) Or a(2, 1) <> a(2, 2) Then
If a(2, 2) <> a(0, 0) Or a(0, 1) <> a(2, 2) Or a(0, 2) <> a(2, 2) Or a(1, 0) <> a(2, 2) Or a(1, 1) <> a(2, 2) Or a(1, 2) <> a(2, 2) Or a(2, 0) <> a(2, 2) Or a(2, 1) <> a(2, 2) Then
MsgBox("es un cuadro mágico")
End If
Else
MsgBox("no es un cuadro mágico hay numeros repetidos")
End If
Else
MsgBox("no es un cuadro mágico hay numeros repetidos")
End If
Else
MsgBox("no es un cuadro mágico hay numeros repetidos")

End If
Else
MsgBox("no es un cuadro mágico hay numeros repetidos")

End If
Else
MsgBox("no es un cuadro mágico hay numeros repetidos")
End If
Else
MsgBox("no es un cuadro mágico hay numeros repetidos")
End If

Else
MsgBox("no es un cuadro mágico hay numeros repetidos")
End If


Else
MsgBox("no es un cuadro mágico hay numeros repetidos")

End If
Else
If a(0, 0) <> a(0, 1) Or a(0, 0) <> a(0, 2) Or a(0, 0) <> a(1, 0) Or a(0, 0) <> a(1, 1) Or a(0, 0) <> a(1, 2) Or a(0, 0) <> a(2, 0) Or a(0, 0) <> a(2, 1) Or a(0, 0) <> a(2, 2) Then
If a(0, 1) <> a(0, 0) Or a(0, 1) <> a(0, 2) Or a(0, 1) <> a(1, 0) Or a(0, 1) <> a(1, 1) Or a(0, 1) <> a(1, 2) Or a(0, 1) <> a(2, 0) Or a(0, 1) <> a(2, 1) Or a(0, 1) <> a(2, 2) Then
If a(0, 2) <> a(0, 0) Or a(0, 1) <> a(0, 2) Or a(0, 2) <> a(1, 0) Or a(0, 2) <> a(1, 1) Or a(0, 2) <> a(1, 2) Or a(0, 2) <> a(2, 0) Or a(0, 2) <> a(2, 1) Or a(0, 2) <> a(2, 2) Then
If a(1, 0) <> a(0, 0) Or a(0, 1) <> a(1, 0) Or a(0, 2) <> a(1, 0) Or a(1, 0) <> a(1, 1) Or a(1, 0) <> a(1, 2) Or a(1, 0) <> a(2, 0) Or a(1, 0) <> a(2, 1) Or a(1, 0) <> a(2, 2) Then
If a(1, 1) <> a(0, 0) Or a(0, 1) <> a(1, 1) Or a(0, 2) <> a(1, 1) Or a(1, 0) <> a(1, 1) Or a(1, 1) <> a(1, 2) Or a(1, 1) <> a(2, 0) Or a(1, 1) <> a(2, 1) Or a(1, 1) <> a(2, 2) Then
If a(1, 2) <> a(0, 0) Or a(0, 1) <> a(1, 2) Or a(0, 2) <> a(1, 2) Or a(1, 0) <> a(1, 2) Or a(1, 1) <> a(1, 2) Or a(1, 2) <> a(2, 0) Or a(1, 2) <> a(2, 1) Or a(1, 2) <> a(2, 2) Then
If a(2, 0) <> a(0, 0) Or a(0, 1) <> a(2, 0) Or a(0, 2) <> a(2, 0) Or a(1, 0) <> a(2, 0) Or a(1, 1) <> a(2, 0) Or a(1, 2) <> a(2, 0) Or a(2, 0) <> a(2, 1) Or a(2, 0) <> a(2, 2) Then
If a(2, 1) <> a(0, 0) Or a(0, 1) <> a(2, 1) Or a(0, 2) <> a(2, 1) Or a(1, 0) <> a(2, 1) Or a(1, 1) <> a(2, 1) Or a(1, 2) <> a(2, 1) Or a(2, 0) <> a(2, 1) Or a(2, 1) <> a(2, 2) Then
If a(2, 2) <> a(0, 0) Or a(0, 1) <> a(2, 2) Or a(0, 2) <> a(2, 2) Or a(1, 0) <> a(2, 2) Or a(1, 1) <> a(2, 2) Or a(1, 2) <> a(2, 2) Or a(2, 0) <> a(2, 2) Or a(2, 1) <> a(2, 2) Then


MsgBox("no es un cuadro mágico ")
Else
MsgBox("no es un cuadro mágico hay numeros repetidos")
End If
End If
End If
End If
End If
End If
End If
End If
End If

End If

End Sub
End Class
  #2 (permalink)  
Antiguo 21/11/2013, 09:57
 
Fecha de Ingreso: octubre-2013
Mensajes: 8
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Pasar programa de Ciclo if a for (cuadro magico)

Código Otro:
Ver original
  1. N = vertical
  2. M = horizontal
  3. N = M
  4. a(N-1,M-1) = array
  5.  
  6.  
  7. suma_total = 0;
  8. for(i= 0;i<N;i++){
  9.   suma = 0;
  10.   for(j=0;j<M;j++){
  11.     suma = suma + a(i,j);
  12.   }
  13.   if(i==0){
  14.     suma_total = suma;
  15.     }
  16.   else if(suma != suma_total){
  17.     print "No es mágico";exit for;
  18.   }
  19. }

Ahí tienes las sumas en horizontal.. Bastaría con cambiar el array(i,j) por array(j,i) y obtienes el total vertical, que debe ser el mismo que el horizontal.

Algo por el estilo.. Faltaría obtener las sumas de las diagonales ;)..

Sldos!

Etiquetas: cuadro, 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 17:48.