MALDITO CUADRADO MAGICO

Embed Size (px)

Citation preview

  • 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