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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2012, 00:17   #1
Justice An.
Новичок
Джуниор
 
Аватар для Justice An.
 
Регистрация: 04.01.2012
Сообщений: 5
По умолчанию Задача "Возможный ход коня"

Условие:
Написать программу,которая сможет сообщить, на какие клетки (поля) можно ходить конем с заданной клетки.
Ввод:
С клавиатуры вводятся координаты начальной позиции коня : символ Col (одна из букв от а до h),представляющий столбец и Lin ( одна из цифр от 1 до 8)-номер строки клетки.
Вывод:
На экран выводятся все пары вида CiLi,где Ci представляет столбец,а Li-строку поля,где может попадать конь за один его ход.

Пример. Ввод: Col=е, Lin=4. Вывод: с3,c5,d6,f6,g5,g3,f2,d2.
Justice An. вне форума Ответить с цитированием
Старый 04.01.2012, 00:39   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Задачка очень простая.

и в чём у Вас сложности?
Не знаете, как конь ходит? Или как вычислить новую координату, исходя из имеющейся?
Или как проверить, выходит ли позиция за пределы доски?
Или как цифровое значение номера столбца преобразовать в число и обратно?


p.s. когда просят о помощи, обычно добавляют "вежливые" слова..
Или я ошибся, и тут ни о какой просьбе о помощи и речи не идёт?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.01.2012, 00:44   #3
Justice An.
Новичок
Джуниор
 
Аватар для Justice An.
 
Регистрация: 04.01.2012
Сообщений: 5
По умолчанию

Извините, я тут новичок и не знала ,как оформить.В следующий раз(а лучше бы его не было,чтобы сама смогла писать программы)- я обязательно напишу вежливые слова!Спасибо,что откликнулись!

Для меня -не простая...Скорее проблема с тем, каким методом её решать? Нужно только массивом? Или можно как-то по-другому? И ещё..Вот проверять, не вышел ли он за пределы доски,как?? Если там буквы,а не цифры...
Заранее,спасибо!!!
Justice An. вне форума Ответить с цитированием
Старый 04.01.2012, 00:46   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
var c:char;
i:integer;
begin
readln(c,i);
if (ord(c)-2 >=ord('a')) and (i+1<9) then write(chr(ord(c)-2),i+1,' ');
if (ord(c)-2 >=ord('a')) and (i-1>0) then write(chr(ord(c)-2),i-1,' ');
if (ord(c)+2 <=ord('h')) and (i+1<9) then write(chr(ord(c)+2),i+1,' ');
if (ord(c)+2 <=ord('h')) and (i-1>0)then write(chr(ord(c)+2),i-1,' ');
if (ord(c)-1>=ord('a')) and (i+2<9) then write(chr(ord(c)-1),i+2,' ');
if (ord(c)-1>=ord('a')) and (i-2>9)then write(chr(ord(c)-1),i-2,' ');
if (ord(c)+1<=ord('h')) and (i+2<9) then write(chr(ord(c)+1),i+2,' ');
if (ord(c)+1<=ord('h')) and (i-2>0)then write(chr(ord(c)+1),i-2,' ');
end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 04.01.2012 в 00:54.
Mad_Cat вне форума Ответить с цитированием
Старый 04.01.2012, 00:48   #5
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Вот проверять, не вышел ли он за пределы доски,как?? Если там буквы,а не цифры...
Код:
if chr(ord(Col) + смещение) in ['a'..'h'] then не вышел за границы
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 04.01.2012, 01:00   #6
Justice An.
Новичок
Джуниор
 
Аватар для Justice An.
 
Регистрация: 04.01.2012
Сообщений: 5
По умолчанию

Уважаемый Mad_Cat, спасибо большое за Ваше решение задачи! Вы мне очень помогли и я наконец-то разобралась в ней!

Уважаемый Hacker19_90, спасибо и Вам, но задачу я хотела решить без массива. Массивы я ещё не изучала.
Justice An. вне форума Ответить с цитированием
Старый 04.01.2012, 01:02   #7
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
я хотела решить без массива
а где вы тут массивы увидели?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 04.01.2012, 01:02   #8
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
но задачу я хотела решить без массива.
Код:
['a'..'h']
это не массив это множество!!!

Цитата:
Это мои первые шаги)
Не будете кодить сами они станут последними)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 04.01.2012 в 01:07.
Mad_Cat вне форума Ответить с цитированием
Старый 04.01.2012, 01:04   #9
Justice An.
Новичок
Джуниор
 
Аватар для Justice An.
 
Регистрация: 04.01.2012
Сообщений: 5
По умолчанию

Извините,я ошиблась! Учусь пока на первом курсе колледжа Информатики.Это мои первые шаги)
Justice An. вне форума Ответить с цитированием
Старый 04.01.2012, 01:20   #10
Justice An.
Новичок
Джуниор
 
Аватар для Justice An.
 
Регистрация: 04.01.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
Код:
['a'..'h']
это не массив это множество!!!

Не будете кодить сами они станут последними)
Я пробовала. Просто не с тем сравнивала числа...
Justice An. вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача"Ход конем" станислав16 Общие вопросы C/C++ 13 25.11.2018 15:58
"Задача о ходе коня" на языке С Student2012 Помощь студентам 0 02.01.2012 14:21
Игра "Ход конем" Лаплат C# (си шарп) 0 20.02.2011 19:25
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Задача "Ход конем" WormsSs Общие вопросы C/C++ 14 29.11.2008 16:25