Шахматная доска - C#

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

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

Добрый день! Задача: Дана шахматная доска размером nn клеток. Верхняя левая клетка доски черная и имеет номер (1, 1). 1.для заданного значения n определить количество черных ячеек шахматной доски; 2.по номеру ячейки (k, m) определить ее цвет; 3.определить, являются ли ячейки с номерами (k1, m1) и (k2, m2) одного цвета; 4.определить, находится ли фигура, стоящая в ячейке с номером (k1, m1), под ударом второй фигуры, стоящей в ячейке с номером (k2, m2), при условии, что ход второй фигуры и ей является: a) пешка; b) слон; c) ладья; d) ферзь; e) конь.
Console.Write("Размерность доски: ");
            int n = int.Parse(Console.ReadLine());
            if (n % 2 == 0) Console.WriteLine("Черных: {0}", n / 2 * n);
            else Console.WriteLine("Черных: {0}", (n - 1) / 2 * (n-1) + n);
yach:       Console.Write("k = ");
            int k = int.Parse(Console.ReadLine());
            Console.Write("m = ");
            int m = int.Parse(Console.ReadLine());
            switch(colour(k,m,n)){
                case 0: Console.WriteLine("Ячейка {0}x{1} - черная", k, m); break;
                case 1: Console.WriteLine("Ячейка {0}x{1} - белая", k, m); break;
                case 2: Console.WriteLine("Такой ячейки нет, попробуйте ввести другую");
                    goto yach;
            }
            Console.WriteLine("k1 = ");
            int k1 = int.Parse(Console.ReadLine());
            Console.WriteLine("m1 = ");
            int m1 = int.Parse(Console.ReadLine());
yach2:      if !(k1 <= n && m1 <= n) 
{
                Console.WriteLine("Такой ячейки нет, попробуйте ввести другую");
                goto yach2;
            }
            if (colour(k, m, n) == colour(k1, m1, n)) Console.WriteLine("Ячейки {0}x{1} и {2}x{3} одинаковые");
            else Console.WriteLine("Ячейки {0}x{1} и {2}x{3} разные");
        }
        static int colour(int k, int m, int n) 
        {
            if (k <= n && m <= n)
            {
                if ((k + m) % 2 == 0) return 0;
                else return 1;
            }
            else return 2;
        }
    }
}
Выводятся такие ошибки: Ошибка 1 Синтаксическая ошибка, требуется "(" Строка-30 Столбец-16 Ошибка 2 Требуется ")" Строка-30 Столбец-37

Решение задачи: «Шахматная доска»

textual
Листинг программы
if (!(k1 <= n && m1 <= n))

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

6   голосов , оценка 4.167 из 5
Похожие ответы