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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2011, 18:59   #1
Роза!!!
Пользователь
 
Аватар для Роза!!!
 
Регистрация: 30.04.2010
Сообщений: 15
По умолчанию 8 ферзей

Помогите, пожалуйста, переделать программу))) Нужно, что бы было расставлено 8 ферзей, так, что бы они "не били" друг друга. С помощью матрицы расставить ферзи, а не перечислить расстановки. 1 - это ферзь, всё остальное 0. В строке, столбце и диагонали, где стоит ферзь сумма элементов не превышала 1, т.е. ферзи "не били" друг друга.


Код:
program z1;
uses crt;
var a:array[1..8,1..8] of char; i,j,m,n:integer;
begin
clrscr;
writeln('координаты ферзя');
readln(m,n);
for i:=1 to 8 do
for j:=1 to 8 do
begin
if (i=m) and (j=n) then a[i,j]:='1';
if ((i=m) and (a[i,j]<>'1'))
or ((j=n) and (a[i,j]<>'1')) then a[i,j]:='0';
if (i+j=m+n) and (a[i,j]<>'1')
then
a[i,j]:='0';
if (i-j=m-n) and (a[i,j]<>'1')
then
a[i,j]:='0';
if (a[i,j]<>'1') and (a[i,j]<>'0') then a[i,j]:='*';
end;
for i:=1 to 8 do
begin
for j:=1 to 8 do
write(a[i,j]:2);
writeln;
end;
readkey;
end.

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

Последний раз редактировалось Serge_Bliznykov; 23.02.2011 в 06:30.
Роза!!! вне форума Ответить с цитированием
Старый 22.02.2011, 19:28   #2
DRAgon™
Форумчанин
 
Аватар для DRAgon™
 
Регистрация: 14.03.2010
Сообщений: 362
По умолчанию

http://algolist.manual.ru/maths/combinat/queens.php
..........
Чем больше моя слава, тем я больше тупею; и таково, несомненно, общее правило.(А.Эйнштейн)
DRAgon™ вне форума Ответить с цитированием
Старый 23.02.2011, 06:32   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

DRAgon™ +1


Роза!!! и ещё посмотрите внизу есть раздел "Похожие темы". Данная задача на форуме не раз поднималась...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.02.2011, 10:54   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Роза!!!, есть готовое решение задачи с псевдо-графическим представлением решения... (псевдо-графика на экране).

Контакты:
e-mail: delmas-61@mail.ru
icq: 585281783
Skype: delmas61
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Про ферзей на abc Pascal COBECTb Помощь студентам 2 19.01.2011 07:51
8 ферзей. Основные расстановки. boomeer Помощь студентам 1 20.11.2010 18:36
Конкурс для программистов - 6 ферзей Zealint Свободное общение 13 11.05.2010 11:12
8 ферзей battlefrogg Помощь студентам 5 06.05.2010 15:28
8 ферзей slim5 Общие вопросы Delphi 0 15.06.2008 11:46