Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: david_quiroz19 en 13 Noviembre 2011, 00:15 am



Título: Programa en C sharp que genera un cuadrado magico , suma sus filas y columnas
Publicado por: david_quiroz19 en 13 Noviembre 2011, 00:15 am
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();
        }
    }
}