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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2018, 21:19   #1
WhySeven???
Новичок
Джуниор
 
Регистрация: 25.04.2018
Сообщений: 1
По умолчанию С# Использовать массив,объявленный в Main в private static void

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace ConsoleApp6
{
    class Program
    {
        public static int n = 0;
        static void Main(string[] args)
        {
            
            StreamReader R = new StreamReader("Read.txt");
            StreamWriter W = new StreamWriter("Write.txt");
            int d = Convert.ToInt32(R.ReadLine()) + 2;
            int[,] Dask = new int[d, d];
            int XK = Convert.ToInt32(R.ReadLine()) + 2;
            int YK = Convert.ToInt32(R.ReadLine()) + 2;
            int XP = Convert.ToInt32(R.ReadLine()) + 2;
            int YP = Convert.ToInt32(R.ReadLine()) + 2;


            for (int i = 0; i <= d; i++)
            {
                for (int j = 0; j <= d; j++)
                {
                    Dask[i, j] = 0;
                }
            }


            for (int i = 0; i <= 1; i++)
            {
                for (int j = 0; j <= d; j++)
                {
                    Dask[i, j] = 3;
                }
            }
            for (int i = d-1; i <= d; i++)
            {
                for (int j = 0; j <= d; j++)
                {
                    Dask[i, j] = 3;
                }
            }


            for (int i = 0; i <= d; i++)
            {
                for (int j = 0; j <= 1; j++)
                {
                    Dask[i, j] = 3;
                }
            }
            for (int i = 0; i <= d; i++)
            {
                for (int j = d - 1; j <= d; j++)
                {
                    Dask[i, j] = 3;
                }
            }

            Dask[XK, YK] = 1;
            Dask[XP, YP] = 2;
            Hod(XK, YK);
        }
      

        private static void Hod (int x, int y)
        {
            



            if (Dask[x + 2, y + 1] == 0)
            {
                Dask[x + 2, y + 1] = 1;
                n = n + 1;
                Hod(x + 2, y + 1);
            }
            else
                if (Dask[x + 2, y + 1] == 2)
            {
                Console.WriteLine(n);
            }


            if (Dask[x + 2, y - 1] == 0)
            {
                Dask[x + 2, y - 1] = 1;
                n = n + 1;
                Hod(x + 2, y - 1);
            }
            else
                if (Dask[x + 2, y - 1] == 2)
            {
                Console.WriteLine(n);
            }









            if (Dask[x - 2, y + 1] == 0)
            {
                Dask[x - 2, y + 1] = 1;
                n = n + 1;
                Hod(x - 2, y + 1);
            }
            else
             if (Dask[x - 2, y + 1] == 2)
            {
                Console.WriteLine(n);
            }


            if (Dask[x - 2, y - 1] == 0)
            {
                Dask[x - 2, y - 1] = 1;
                n = n + 1;
                Hod(x - 2, y - 1);
            }
            else
                if (Dask[x - 2, y - 1] == 2)
            {
                Console.WriteLine(n);
            }






            if (Dask[x + 1, y + 2] == 0)
            {
                Dask[x + 1, y + 2] = 1;
                n = n + 1;
                Hod(x + 1, y + 2);
            }
            else
                if (Dask[x + 1, y + 2] == 2)
            {
                Console.WriteLine(n);
            }


            if (Dask[x + 1, y - 2] == 0)
            {
                Dask[x + 1, y - 2] = 1;
                n = n + 1;
                Hod(x + 1, y - 2);
            }
            else
                if (Dask[x + 1, y - 2] == 2)
            {
                Console.WriteLine(n);
            }







            if (Dask[x - 1, y + 2] == 0)
            {
                Dask[x - 1, y + 2] = 1;
                n = n + 1;
                Hod(x - 1, y + 2);
            }
            else
       if (Dask[x - 1, y + 2] == 2)
            {
                Console.WriteLine(n);
            }


            if (Dask[x - 1, y - 2] == 0)
            {
                Dask[x - 1, y - 2] = 1;
                n = n + 1;
                Hod(x - 1, y - 2);
            }
            else
                if (Dask[x - 1, y - 2] == 2)
            {
                Console.WriteLine(n);
            }

        }
    }
}
24 ошибки :имя "Dask" не существует в данном контексте.
Суть программы просмотреть за сколько ходов съест конь пешку разными вариантами,пока я просто их все вывожу,далее выведу просто самый короткий,но не суть,главное то,что мне нужно использовать массив Dask,который я объявил и заполнил в Main,в рекурсии (private public static hod.....)



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Благодарю за правку

Последний раз редактировалось WhySeven???; 25.04.2018 в 22:13.
WhySeven??? вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C#] CS5001 не видно static void Main() armory Помощь студентам 3 06.10.2016 21:43
Массив, объявленный как двумерный, является одномерным WarAngel-alk Общие вопросы C/C++ 2 17.03.2013 15:37
Exception in thread "main" java.lang.NullPointerException at Main.main(Main.java:9) elpilasgsm Помощь студентам 4 18.01.2011 08:23
Функция main и main(void) Pord Помощь студентам 1 11.12.2008 15:57
Static Void Problem RIO Общие вопросы .NET 2 02.05.2008 16:52