Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sirserik
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 156
#1

ферзь - C++

16.06.2011, 15:32. Просмотров 797. Ответов 6
Метки нет (Все метки)

Всем доброго времени суток помогите найти ошибку в решений задачи
Даны координаты доски 2-х различных полей шахматной доски x1,y1,x2,y2;(Целые числа в диапозоне от 1 до 8) Проверить истинность высказывания. Ферзь за один ход может перейти с одного поля на другоеВсем спасибо заранееРешать только через бул

Пример 7.8-3.4 -Истина
Вот мой код

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
#include <math.h>
#include <iostream>
using namespace std;
void main()
{
    int x1,y1,x2,y2,w,z,a,b,m,n;
    cin>>x1,y1,x2,y2;
    w = x2-x1;
    z = y2-y1;
    a = (x1+y1)%2;
    b = (x2+y2)%2;
    m = (x2-x1);
    n = (y2-y1);
    bool d,e,f,g,h,l;
    d = ((x1-x2==0))&&((z<=7)||(z>=7));
    e = ((z==0))&&((w<=7)||(w>=-7));
    f = ((a==0)&&(b==0))||((a==1)&&(b==1));
    g = (m==n)&&((m!=0)||(n!=0));
    h = m==-n;
    l = ((d)&&(e))||((f)&&(g)||(f)&&(h));
    cout<<l;
    cin.get();
cin.get();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2011, 15:32     ферзь
Посмотрите здесь:

Шахматы. Ферзь - C++
Поле шахматной доски определяется парой натуральных чисел, первое из которых задает номер вертикали, а второе — номер горизонтали. Даны...

Определить, угрожает ли ферзь фигуре - C++
Привет Всем !!!! Определить,угрожает ли ферзь, расположенный на поле ( n1,m1 ) шахматной доски ,фигуре, расположенной на поле ( n2,m2...

Проверить, угрожает ли ферзь фигуре на шахматной доске - C++
Поле шахматной доски определяется парой натуральных чисел, первое число-номер вертикали, второе-номер горизонтали. Даны натуральные числа...

Определить, бьет ли ферзь, находящийся в клетке (xy, y1) клетку (x2, y2) - C++
На шахматной доске в клетке (x1, y1) находится шахматный ферзь. Определите, бьет ли он клетку (x2, y2). #include &lt;iostream&gt; using...

Определить, угрожает ли ферзь полю с заданными координатами - C++
Поле шахматной доски определяется парой натуральных чисел, первое число - номер вертикали, второе - номер горизонтали. Даны натуральные...

Шахматы. Каждый ферзь бьет ровного одного ферзя - C++
Всем привет! Помогите решить задачу: Расставить на шахматной доске максимальное число ферзей так, чтобы каждый нападал ровно на одного...

Шахматная доска: угрожает ли ферзь, стоящий на поле (k, l), полю (m, n)? - C++
Собственно,условие вот. Поле шахматной доски определяется парой натуральных чисел, первое из которых задает номер вертикали, а второе —...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
16.06.2011, 15:51     ферзь #2
Добрый день! Встречный вопрос? Доска пустая? Или могут быть другие фигуры?

Добавлено через 11 минут
Для пустой доски. Обработки ошибок нет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Даны координаты доски 2-х различных полей шахматной доски x1,y1,x2,y2;
// (Целые числа в диапозоне от 1 до 8) Проверить истинность высказывания.
//Ферзь за один ход может перейти с одного поля на другое
//  Пример 7.8-3.4 -Истина
#include <iostream>
using namespace std;
int main()
{
    int x1,y1,x2,y2;
    bool d;
 
 
    cin>>x1>>y1>>x2>>y2;
    d = x1==x2 || y1==y2 || x1-y1==x2-y2 || x1+y1==x2+y2;
    cout<<d;
    cin.get();
 
    return 0;
}
sirserik
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 156
16.06.2011, 15:55  [ТС]     ферзь #3
Доска пустая но при попытке скомпелировать данный код выдает что у меня не определены переменные х2 и у2 не пойму
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
16.06.2011, 16:04     ферзь #4
G++/Code::Blocks. Какая у Вас среда, компилятор?
sirserik
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 156
16.06.2011, 16:15  [ТС]     ферзь #5
Цитата Сообщение от lamed Посмотреть сообщение
G++/Code::Blocks. Какая у Вас среда, компилятор?
все ошибку сам нашел cin>>x1,y1,x2,y2;
а надо было x1>>y1>>x2>>y2;
lamed
297 / 297 / 71
Регистрация: 07.05.2011
Сообщений: 592
16.06.2011, 16:19     ферзь #6
Нет, это не причина ошибки компилятора. Я запускал Вашу программу. Компилировалась нормально. Это логическая ошибка. Вполне легальный оператор "запятая".
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2011, 16:23     ферзь
Еще ссылки по теме:

Определить класс «Шахматная фигура» и производные классы «Ферзь» - C++
Дело в том, что начал изучать ООП не так давно и тут попалась задачка, которая заинтересовала. Условие таково: &quot;Определить класс «Шахматная...

Необходимо выяснить:если на клетке (a,b) расположен ферзь,угрожает ли он полю (c,d) - C++
Поле шахматной доски имеет размер 8х8.Клетки определяются координатами,первая из которых - номер вертикали(слева направо),а вторая - номер...

Определить, может ли черный ферзь сбить всех белых ферзей за пять ходов - C++
3. Задана шахматная доска, на которой расставлены пять белых ферзей и один черный. Определить, может ли черный ферзь сбить всех белых...

Проверить, что ферзь за один ход может перейти с одного поля на другое - C++
Задание: Даны координаты двух различных полей шахматной доски x1, y1, x2, y2(целые числа, лежащие в диапазоне 1-8). Проверить истинность...

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


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

Или воспользуйтесь поиском по форуму:
sirserik
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 156
16.06.2011, 16:23  [ТС]     ферзь #7
Цитата Сообщение от lamed Посмотреть сообщение
Нет, это не причина ошибки компилятора. Я запускал Вашу программу. Компилировалась нормально. Это логическая ошибка. Вполне легальный оператор "запятая".
у меня mvc++ 2010 там только из за этой ошибки не вводлась вторая переменная
Yandex
Объявления
16.06.2011, 16:23     ферзь
Ответ Создать тему
Опции темы

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