8/14/2019 MALDITO CUADRADO MAGICO
1/2
MALDITO CUADRADO MAGICOPROGRAMACION
El cuadrado mgico, es uno de esos ejercicios que siempre vienen cuando se estudiaprogramacin; como cuando haces algoritmos para imprimir los 10 primeros nmeros pares,impares o primos; todos lo que hemos estudiado programacin hacemos el factorial de unnumero o fibonacci de otro; bueno cosas como esas.
Les cuento algo yo tenia examen de TECNICAS DE PROGRAMACION, y como la verdadestaba un poco mal en este curso, consegu el examen de aos anteriores, donde vi quepregunto el famoso cuadrado mgico.
Un cuadrado mgico , es aquel cuya fila ,columnas y diagonales suman los mismo, a esto sele llama constante mgica.
Aqu esta mi solucin (bueno no fue algo as como, que bruto, que solucion que hicistes, peroah le doy), solo se que lo hice en todo un da y medio, es bonito cuando algo te vasaliendo, tu mente te va dando soluciones de poco a poco.
Falta perfeccionarlo pero que diablos la cosa es que salio
Aqu esta el cdigo, lo hice en Visual Basic Express 2005 (APLICACIN CONSOLA)
Module Module1
Sub Main()
'declaracion de variables
Dim m, n, f, c, nromov, i, liming AsInteger
'establece el tamao de la matrix
Console.WriteLine("Por favor coloque el tamao de la matriz: ")
n = Console.ReadLine()
n = (n - 1) Dim matriz(n, n) AsInteger
'detalle de movimiento
liming = ((n + 1) * (n + 1)) + 1
f = 0
c = Int((n + 1) / 2)
nromov = n
'la primera piedra
matriz(f, c) = 1
i = 2
For k = 0 To n
For j = 1 To nromov
f = f - 1
c = c + 1
If (f = -1) Then f = n If (c = n + 1) Then c = 0
matriz(f, c) = i
i = i + 1
Next
If (i = liming) ThenExitFor
f = f + 1
matriz(f, c) = i
i = i + 1
Next
'grafica la matriz
Console.WriteLine("Aprete cualquier tela para graficar la matriz...")
Console.ReadLine()
For k = 0 To n
For l = 0 To n
If matriz(k, l) < 10 Then
8/14/2019 MALDITO CUADRADO MAGICO
2/2
Console.Write("[ ")
Else
Console.Write("[")
EndIf
Console.Write("{0}{1}", matriz(k, l), "] ")
Next
Console.WriteLine()
Console.WriteLine() Next
'salida
Console.WriteLine("Presione cualquier tecla para salir...")
Console.ReadLine()
EndSub
EndModule
Aqu funcionando
Recommended