Programa en C sharp que genera un cuadrado magico , suma sus filas y columnas

Iniciado por david_quiroz19, 13 Noviembre 2011, 00:15 AM

0 Miembros y 1 Visitante están viendo este tema.

david_quiroz19

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace cuadrado_magico
{
   class Program
   {
       static void Main(string[] args)
       {
         

           int dimension = 5, n = 1;
           int[,] matriz = new int[dimension, dimension];
           int i = 0;
           int j = dimension / 2;
           int k = 0, l = 0;
           int[] Filas = new int[dimension];
           int[] Columnas = new int[dimension];

           matriz[i, j] = n++;

           for (k = i, l = j; n <= dimension * dimension; n++)
           {
               i--;
               j++;

               if (i < 0)
                   i = dimension - 1;
               if (j >= dimension)
                   j = 0;

               if (matriz[i, j] == 0)
               {
                   matriz[i, j] = n;
               }
               else
               {
                   k++;
                   if (k >= dimension)
                       k = 0;
                   matriz[k, l] = n;
                   i = k;
                   j = l;
                   continue;
               }
               k = i;
               l = j;
           }
           for (i = 0; i < dimension; i++)
           {
               for (j = 0; j < dimension; j++)
               {
                   Console.Write(" {0}", matriz[i, j].ToString("###"));
               }
               Console.WriteLine(Environment.NewLine);
           }
           for (i = 0; i < dimension; i++)
               for (j = 0; j < dimension; j++)
               {
                   Filas += matriz[i, j];
                   Columnas[j] += matriz[i, j];
               }
           for (i = 0; i < dimension; i++)
           {
               Console.WriteLine("Suma de la fila [{0}] es: {1}", i, Filas);
               Console.WriteLine("Suma de la columna [{0}] es: {1}", i, Columnas);
           }
           Console.ReadKey();
       }
   }
}
Si esta en la web hay que compartirlo....