Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 07.12.2017
Сообщений: 404
1

Исправить ошибки в коде. Проверить истинность высказывания: «Данные поля имеют одинаковый цвет»

03.10.2018, 23:49. Просмотров 917. Ответов 9
Метки нет (Все метки)

Только учу С# пока что сложно
помогите с ошибками
задание если что: Даны координаты двух различных полей шахматной доски х1,х2 ,у1 ,у2 (целые числа, лежащие в диапазоне 1-8). Проверить истинность высказывания: «Данные поля имеют одинаковый цвет».
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
namespace ConsoleApp2
{
    class Program
    {
        static void Main(int[] args)
        {
 
            int x1, y1, x2, y2;
 
            Console.WriteLine("Coordinat x1");
            x1 = Console.ReadLine();
 
            Console.WriteLine("Coordinat x2");
            x2= Console.ReadLine();
 
           Console.WriteLine("Coordinat y1");
            y1 = Console.ReadLine();
            Console.WriteLine("Coordinat y2");
            y2 = Console.ReadLine();
            Console.WriteLine((x1+y1))%2) || (x2+y2)%2));
            Console.ReadKey();
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2018, 23:49
Ответы с готовыми решениями:

Проверить истинность высказывания: "Данные поля имеют одинаковый цвет"
Даны координаты двух различных полей шахматной доски x1, y1, x2, y2 (целые числа, лежащие в...

Проверить истинность высказывания: «Данные поля имеют разный цвет»
Написать код. Даны координаты двух различных полей шахматной доски x1, y1, x2, y2 (целые числа,...

Верно ли, что заданные поля шахматной доски имеют одинаковый цвет
Помогите пожалуйста создать такую вот прогу: Логической переменной Pole присвоить значение true,...

Проверить, какой цвет (одинаковый или разный) имеют клетки шахматной доски
С помощью условного оператора решить. Шахматная доска содержит 8 × 8 клеток. Горизонтали и...

9
Модератор
6324 / 4444 / 1264
Регистрация: 21.04.2018
Сообщений: 13,033
Записей в блоге: 2
03.10.2018, 23:57 2
У Вас вроде правильное решение

Добавлено через 3 минуты
А нет вывод не верный: лишние скобки и условие не правильно. И вывод красивее надо сделать.
C#
20
            Console.WriteLine(((x1+y1)%2) == (x2+y2)%2) ? " Цвет одинаковый" : "Цвет разный");
0
1 / 1 / 0
Регистрация: 07.12.2017
Сообщений: 404
04.10.2018, 17:54  [ТС] 3
Элд Хасп, у вас проект собирается?
0
5 / 2 / 3
Регистрация: 25.09.2018
Сообщений: 12
04.10.2018, 18:23 4
C#
1
x2= Console.ReadLine();
Метод ReadLine() возвращает строку. Попробуйте сделать так
C#
1
2
string input = Console.ReadLine();
int.TryParse(input, out int x2);
0
1 / 1 / 0
Регистрация: 07.12.2017
Сообщений: 404
04.10.2018, 18:27  [ТС] 5
fur_ss, а куда дописать эту нужно?
0
5 / 2 / 3
Регистрация: 25.09.2018
Сообщений: 12
04.10.2018, 18:31 6
Лучший ответ Сообщение было отмечено a_lar как решение

Решение

Цитата Сообщение от a_lar Посмотреть сообщение
а куда дописать эту нужно?
Как-то вот так.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Program
    {
        static void Main()
        {
            int x1, y1, x2, y2;
 
            Console.WriteLine("Coordinat x1");
            string input;
            input = Console.ReadLine();
            int.TryParse(input, out x1);
            Console.WriteLine("Coordinat x2");
            input = Console.ReadLine();
            int.TryParse(input, out x2);
            Console.WriteLine("Coordinat y1");
            input = Console.ReadLine();
            int.TryParse(input, out y1);
            Console.WriteLine("Coordinat y2");
            input = Console.ReadLine();
            int.TryParse(input, out y2);
            Console.WriteLine(((x1 + y1) % 2) == ((x2 + y2) % 2));
            Console.ReadKey();
        }
    }
1
1 / 1 / 0
Регистрация: 07.12.2017
Сообщений: 404
04.10.2018, 18:34  [ТС] 7
fur_ss, огромное вам спасибо!
вы очень выручили, а можете объяснить что за команда такая
int.TryParse(input, out y2);
0
5 / 2 / 3
Регистрация: 25.09.2018
Сообщений: 12
04.10.2018, 18:40 8
Цитата Сообщение от a_lar Посмотреть сообщение
что за команда такая
int.TryParse(input, out y2);
Думаю, что документация справиться лучше TryParse.
Если в двух словах, то это функция проверяет можно ли преобразовать строку в тип данных int, если да, то во втором параметре вернется значение. У неё ещё есть возвращаемые параметр типа bool, который говорит было ли успешно выполнено преобразование. По-хорошему, вам бы нужно было его проверять.
0
1 / 1 / 0
Регистрация: 07.12.2017
Сообщений: 404
04.10.2018, 18:43  [ТС] 9
fur_ss, если честно, то это вообще первый код написанный на с#
дальше буду учить будет понятнее спасибо за ответ)
0
Модератор
6324 / 4444 / 1264
Регистрация: 21.04.2018
Сообщений: 13,033
Записей в блоге: 2
04.10.2018, 23:11 10
Цитата Сообщение от a_lar Посмотреть сообщение
Элд Хасп, у вас проект собирается?
Не пробовал-писал здесь.

Добавлено через 23 минуты
Цитата Сообщение от a_lar Посмотреть сообщение
Элд Хасп, у вас проект собирается?
Исправил, проверил, и красивостей добавил.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
           int x1=0, y1=0, xA=0, yA=0;
            bool TryInput = false;
 
            Console.WriteLine("Введите ккординаты для клеток в формате A1...H8");
            Console.Write("\nПервая клетка: ");
            do
            {
                string input = Console.ReadLine().ToUpper();
                TryInput = false;
                if (input.Length == 2)
                {
                    xA = input[0] - 'A' + 1;
                    x1 = input[1] - '0';
                    if (xA > 0 && xA < 9 && x1 > 0 && x1 < 9)
                        TryInput = true;
                }
                if (!TryInput)
                    Console.Write("Ошибка ввода! Введите ещё раз! Первая клетка: ");
            } while (!TryInput);
 
            Console.Write("\nВторая клетка: ");
            do
            {
                string input = Console.ReadLine().ToUpper();
                TryInput = false;
                if (input.Length == 2)
                {
                    yA = input[0] - 'A' + 1;
                    y1 = input[1] - '0';
                    if (yA > 0 && yA < 9 && y1 > 0 && y1 < 9)
                        TryInput = true;
                }
                if (!TryInput)
                    Console.Write("Ошибка ввода! Введите ещё раз! Первая клетка: ");
            } while (!TryInput);
 
            Console.WriteLine(((x1 + xA) % 2 == (y1 + yA) % 2) ? " Цвет одинаковый" : "Цвет разный");
 
            Console.ReadKey();
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2018, 23:11

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Проверить истинность высказывания: "Числа A и B имеют одинаковую четность"
Помогите решить пожалуйста очень нужно.....:'( //...

Даны два целых числа: A, B. Проверить истинность высказывания: «Числа A и B имеют одинаковую четность»
Скоро экзамен , кто чем может ) Помоги ближнему , ибо смех продлевает жизнь...) 6. Даны...

Проверить истинность высказывания: «Ферзь за один ход может перейти с одного поля на другое»
Даны координаты двух различных полей шахматной доски x1, y1, x2, y2 (целые числа, лежащие в...

Проверить истинность высказывания: «Данные числа x, y являются координатами точки, лежащей в первой или третьей координатной четверти»
Проверить истинность высказывания: «Данные числа x, y являются координатами точки, лежащей в первой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.