Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2018, 12:31   #1
Wektor9911
Пользователь
 
Регистрация: 09.12.2017
Сообщений: 18
По умолчанию Заполнение массива по спирали C#

Помогите пожалуйста заполнить массив случайными числами на языке C# (Заполняются по спирали)
Код:
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
            int n;
            Console.WriteLine("Введите размерность массива");
            n = Convert.ToInt32(Console.ReadLine());
            var a = GetSpire(n);
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    Console.Write(a[i, j]);
                }
                Console.WriteLine();
            }
        }

        private static int[,] GetSpire(int n)
        {
            var result = new int[n, n];
            Random rand = new Random();
            for (int i = 0; i < n; i++)
                for (int j = 0; j < n; j++)
                    result[i, j] = rand.Next(n, n);
            for (int currentChar = 1, padding = 0; padding < n / 2; padding++)
            {
                for (int j = padding; j < n - padding; j++)
                    result[padding, j] = currentChar;
                for (int j = padding; j < n - padding; j++)
                    result[n - padding - 1, j] = currentChar;
                for (int i = padding + 2; i < n - padding - 1; i++)
                    result[i, padding] = currentChar;
                for (int i = padding + 1; i < n - padding - 1; i++)
                    result[i, n - padding - 1] = currentChar;
                currentChar = 1 - currentChar;
                result[padding + 1, padding] = currentChar;
            }
            if (n % 2 != 0 && result[0, 0] == 1)
                result[n / 2, n / 2] = 1;
            return result;
        }
    }
}
Wektor9911 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заполнение матрици по спирали leones Помощь студентам 2 18.11.2014 12:48
заполнение матрици по спирали, числами от 1 до n Sylar9 Общие вопросы C/C++ 4 06.09.2012 22:13
заполнение матрицы по спирали!!!!! Jenn Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 08.01.2012 10:52
Работа с матрицами, заполнение по спирали, С++ Niconov Помощь студентам 0 05.12.2011 18:20
Заполнение квадрата 6х6 по спирали artacer Паскаль, Turbo Pascal, PascalABC.NET 8 10.06.2011 01:14