
Определить, может ли шахматный конь за один ход попасть из клетки с координатами (х1,у1) в клетку с
координатами (х2,у2). (на Pascal)

Ответы на вопрос

#include "stdafx.h"
#include <iostream>
#include <stdio.h>
using namespace std;
int main ()
{
short int x1,y1,x2,y2;
cout << "Input x1: ";
cin>> x1;
cout<<endl<<"Input y1: ";
cin>> y1;
cout << "Input x2: ";
cin>> x2;
cout<<endl<<"Input y2: ";
cin>> y2;
if ((abs(x2-x1)!=1) || (abs(y2-y1) !=2))
{cout<<"NOT";} else
{cout<<"OK"<<endl;}
system("PAUSE");
return 0;



На языке Pascal можно написать функцию, которая будет проверять, может ли шахматный конь совершить ход из клетки (x1, y1) в клетку (x2, y2). Вот пример такой функции:
pascalfunction CanKnightMove(x1, y1, x2, y2: Integer): Boolean; begin // Разность координат в абсолютном значении для определения смещения по каждой оси var dx := Abs(x2 - x1); var dy := Abs(y2 - y1); // Проверяем, что смещение по каждой оси составляет 1 клетку, а другая ось - 2 клетки Result := (dx = 1) and (dy = 2) or (dx = 2) and (dy = 1); end;
Пример использования функции:
pascalvar x1, y1, x2, y2: Integer; begin // Ввод координат клеток Write('Введите координаты клетки (x1, y1): '); ReadLn(x1, y1); Write('Введите координаты клетки (x2, y2): '); ReadLn(x2, y2); // Проверка возможности хода коня if CanKnightMove(x1, y1, x2, y2) then WriteLn('Конь может совершить ход из клетки (', x1, ', ', y1, ') в клетку (', x2, ', ', y2, ')') else WriteLn('Конь не может совершить ход из клетки (', x1, ', ', y1, ') в клетку (', x2, ', ', y2, ')'); end.
Пользователю будет предложено ввести координаты двух клеток, а затем программа выдаст ответ, может ли шахматный конь совершить ход между этими клетками. Если конь может совершить ход, то будет выведено сообщение об этом, в противном случае будет выведено соответствующее сообщение.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili