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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2012, 22:31   #1
ValeriySergeevich
Новичок
Джуниор
 
Регистрация: 15.01.2011
Сообщений: 2
По умолчанию На шахматной доске определить поля, в которые может попасть конь из указанной позиции.

На шахматной доске определить поля, в которые может попасть конь из указанной позиции. На Паскале!!!! Вот что есть, но выводит, только в случае, если конь обойдёт все поля! А надо чтобы всегда выводил, клетки которые не посетит метил бы 0.
Код:
program kon;
const
  n = 8; m =8 ; 
  di: Array[1..8] Of Integer = (-2, -1, 1, 2, 2, 1, -1, -2);
  dj: Array[1..8] Of Integer = (1, 2, 2, 1, -1, -2, -2, -1);
var
  a: Array[-1..n + 2, -1..m + 2] Of Integer;
  i, j,x,y,l,count: Integer;

procedure print;
var i,j:integer;
begin
  inc(count);
  for i := 1 To n Do 
  begin
    for j := 1 To m Do Write(a[i, j]:3);
    Writeln
  end;
end;

procedure rec(i, j, t: Integer);
var k: Integer;
begin
  if (a[i,j] = 0) Then 
  begin
    a[i,j] :=t;
    if t <> n * m Then
    begin
      for k := 1 To 8 Do  rec(i + di[k], j + dj[k], t + 1);
      a[i, j] := 0;
      end
    else 
      print; 
      end;
end;

begin
writeln('введите исходное положение');
read(x,y);
  count:=0;
  for i := -1 To n + 2 Do
    for j := -1 To m + 2 Do
      if (i < 1) Or (i > n) Or (j < 1) Or (j > m) Then a[i, j] := -1;
   rec(x, y, 1); 
  if count=0 Then Writeln('Невозможно выполнить обход');
end.

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 24.02.2012 в 23:14.
ValeriySergeevich вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
расставить 8 ладей на шахматной доске marry Помощь студентам 2 19.11.2010 22:08
Си/Си++ Слоны на шахматной доске Маришка_Курносова Помощь студентам 1 12.09.2010 01:02
Найти расстановку восьми слонов на шахматной доске WhiteKuz Общие вопросы Delphi 1 30.04.2010 12:25
монетки на шахматной доске! grimm_jow Общие вопросы C/C++ 2 31.01.2010 10:27
Поиск пути на шахматной доске ходом ферзя A!eI{S@nDrA Помощь студентам 2 16.06.2009 09:51