Заполнение матрицы по спирали - C# (200884)

Узнай цену своей работы

Формулировка задачи:

Заполнить матрицу натуральными числами l..N*N, где N - размер матрицы. В программе предусмотреть возможность изменения размера матрицы.

Можно через консоль, помогите пожалуйста

Решение задачи: «Заполнение матрицы по спирали»

textual
Листинг программы
using System;
 
namespace A
{
    class Program
    {
        static void Main(string[] args)
        {
            const int N = 9;
            int[,] mas = new int[N, N];
            int aY = N / 2, aX = N / 2, cnt = 1;
            mas[aY, aX] = cnt++;
            for (int u = 1; u < N / 2 + 1; u++)
            {
                aY++; aX++;
                for (int k = 0; k < 2 * u; k++) mas[aY, --aX] = cnt++;  
                for (int k = 0; k < 2 * u; k++) mas[--aY, aX] = cnt++;  
                for (int k = 0; k < 2 * u; k++) mas[aY, ++aX] = cnt++;  
                for (int k = 0; k < 2 * u; k++) mas[++aY, aX] = cnt++;  
            }
 
            for (int y = 0; y < N; y++)
            {
                for (int x = 0; x < N; x++)
                    Console.Write("{0,2} ", mas[y, x]);
                Console.WriteLine();
            }
            Console.Read();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.143 из 5