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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2013, 00:22   #1
Megapol
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 29
По умолчанию задача

Шахматную доску будем представлять символьной матрицей размера 8 x 8. Даны натуральные числа n и m (1 меньше или равно n меньше или равно 8,1 меньше или равно m меньше или равно 8) – номера вертикали и горизонтали, определяющие местоположение ферзя. Соответствующий элемент матрицы надо положить равным символу Ф. Поля, находящиеся под угрозой ферзя, надо положить равными символу *, а остальные поля – символу 0. Решить аналогичную задачу для коня.

ферзь.
Код:
uses crt;
var
a:array [1..8,1..8] of char;
i,j:integer;
x,y:integer;

begin
for i:=1 to 8 do begin
for j:=1 to 8 do
a[i,j]:='0';
end;
writeln ('enter koordinaty ferzya');
read (x,y);
a[x,y]:='F';
for j:=1 to 8 do
if j<>y then a[x,j]:='*';
for i:=1 to 8 do
if i<>x then a[i,y]:='*';
for i:=1 to 8 do
for j:=1 to 8 do begin
if (i<>x) and (j<>y) then begin if j=i+y-x then a[i,j]:='*';
if 8-i=j+y-x-2 then a[i,j]:='*';
end;
end;
for i:=1 to 8 do begin
for j:=1 to 8 do
write (a[i,j],' ');
writeln;
end;
readkey
end.
ходит справой стороны криво.

конь.
Код:
uses crt;
const
n=8;
var
x,y,i,j:integer;
a:array [1..n,1..n] of char;

begin
clrscr;
for x:=1 to n do
for y:=1 to n do
a[x,y]:='0';
writeln ('enter coordinate horse');
read (x,y);
a[x,y]:='K';
if (x>=3) and (x<=6) and (y>=3) and (y<=6) then begin
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
{7}a[x-1,y+2]:='*';
{8}a[x-2,y+1]:='*';
end;
if (x>=3) and (y>=3) and (y<=6) then begin
{1}a[x-2,y+1]:='*';
{4}a[x+2,y-1]:='*';
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
{7}a[x-1,y+2]:='*';
{8}a[x-2,y+1]:='*';
end;
if (x=1) and (y>=3) and (y<=6) then begin
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
{7}a[x-1,y+2]:='*';
{8}a[x-2,y+1]:='*';
end;
if (x=8) and (y>=3) and (y<=6) then begin
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
end;
if (x=7) and (y>=3) and (y<=6) then begin
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
{5}a[x+2,y+1]:='*';
{8}a[x-2,y+1]:='*';
end;
if (x=1) and (y=8) then begin
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
end;
if (x=8) and (y=8) then begin 
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
end;
if (x=8) and (y=7) then begin 
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
end;
if (x=8) and (y=6) then begin 
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
end;
if (x=1) and (y=1) then begin 
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
end;
if (x=1) and (y=2) then begin 
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
end;
if (x=1) and (y=3) then begin 
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
{4}a[x+2,y-1]:='*';
end;
if (x=1) and (y=4) then begin 
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
end;
for x:=1 to n do begin
for y:=1 to 8 do
write (a[x,y],' ');
writeln;
end;

readkey
end.
вводишь значение 3 и 2 не выводит звёздочки

Последний раз редактировалось Stilet; 09.05.2013 в 18:32.
Megapol вне форума Ответить с цитированием
Старый 09.05.2013, 10:08   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
вводишь значение 3 и 2 не выводит звёздочки
А ткните пальчиком, которая из веток Вашего кода в этом случае должна сработать.
s-andriano вне форума Ответить с цитированием
Старый 09.05.2013, 11:39   #3
Megapol
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 29
По умолчанию

в смысле??? и что сделать с ферзем справой стороны криво ходит?
Megapol вне форума Ответить с цитированием
Старый 09.05.2013, 11:44   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Megapol Посмотреть сообщение
в смысле???
В прямом!
Покажите, по какой ветке, по Вашему замыслу, должна идти программа (с конем) при указанных Вами входных данных.
Цитата:
и что сделать с ферзем справой стороны криво ходит?
Эту даже не смотрел.

Да и вообще считаю, что размещать на форуме код в таком виде - бестактность.
Код должен быть отформатирован. Иначе его невозможно читать.
А размещение без тегов "CODE" убивает все форматирование напрочь.
s-andriano вне форума Ответить с цитированием
Старый 09.05.2013, 22:04   #5
Megapol
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 29
По умолчанию

спасибо!"помог"
Megapol вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на зачёт. проблема Задача на нобелевскую премию! Sabotage5 Паскаль, Turbo Pascal, PascalABC.NET 2 18.03.2013 15:18
Задача по подсчёту статистики использования букв. Другая задача - по длинной арифметике Pascal ABC kimberly Паскаль, Turbo Pascal, PascalABC.NET 3 24.12.2012 17:03
задача на структуру(struct)/задача на работу с файлом SevenArth Помощь студентам 0 26.04.2012 19:06
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel Toofed Помощь студентам 0 30.11.2011 01:12
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51