Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Александр1994
-24 / 0 / 0
Регистрация: 04.10.2011
Сообщений: 17
1

Разместить 8 ферзей на доске так чтобы они не били друг друга

04.10.2011, 19:05. Просмотров 1973. Ответов 2
Метки нет (Все метки)

Надо разместить 8 ферзей на доске так чтобы они не били друг друга
вот код
ну мне нужно ещё сделать так чтобы пользователь вводил координаты 1-го ферзя и происходило решение если решения нет(так как координаты 1-го ферзя вел пользователь )программа выдавала ошибку

помогите пож т.к в паскале полный ноль
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
program ferz; 
uses crt; 
var s,i:integer; 
a:array[1..8] of boolean; 
b:array[2..16] of boolean; 
c:array[-7..7] of boolean; 
x:array[1..8]of integer; 
 
procedure print; 
var k:integer; 
begin 
s:=s+1; 
write('Решение номер ',s:2,' : '); 
for k:=1 to 8 do write(x[k]:4); 
writeln; 
write('Press <enter>'); 
readln; 
end;{of print} 
 
procedure try(i:integer); 
var j:integer; 
begin 
for j:=1 to 8 do 
if a[ j]and b[ i+j]and c[ i-j] then 
begin 
x[ i]:=j; 
a[ j]:=false;b[ i+j]:=false;c[ i-j]:=false; 
if i<8 then try ( i+1) else print; 
a[ j]:=true;b[ i+j]:=true;c[ i-j]:=true; 
end; 
end;{of try} 
 
begin{of main} 
clrscr; 
for i:=1 to 8 do a[ i]:=true; 
for i:=2 to 16 do b[ i]:=true; 
for i:=-7 to 7 do c[ i]:=true; 
s:=0; 
try(1) 
end.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2011, 19:05
Ответы с готовыми решениями:

Рекурсия: расстановка 8 коней на шахматной доске 8х8 так, чтобы они не били друг друга
Всем доброго времени суток! Долго лазила по просторам интернета, но так ничего путного и не...

Разместить на шахматной доске 8 тур так, чтобы они не угрожали друг другу
задача на двумерный масив и рекурсии Помогите написать программу: Разместить на шахматной...

Расставить на доске N ферзей так, чтобы наибольшее число ее полей оказалось вне боя ферзей
1.Расставить на доске N×N (N&lt;=12) N ферзей так, чтобы наибольшее число ее полей оказалось вне боя...

Расставить на доске максимальное число ферзей так, чтобы каждый из них нападал ровно на р ферзей
3. Расставить на доске N×N максимальное число ферзей так, чтобы каждый из них нападал ровно на р...

Вывести максимальное количество ферзей, которых можно расставить на доске N*M так, чтобы они не били друг друга
Задается шахматная доска N*M Нужно вывести максимальное количество Ферьз которых можно расставить...

2
Puporev
Модератор
57792 / 44033 / 30404
Регистрация: 18.05.2008
Сообщений: 105,289
04.10.2011, 20:09 2
Цитата Сообщение от Александр1994 Посмотреть сообщение
т.к в паскале полный ноль
И какого же Вас занесло в решение такой задачи?
0
Александр1994
-24 / 0 / 0
Регистрация: 04.10.2011
Сообщений: 17
04.10.2011, 20:25  [ТС] 3
ну это я так образно немногопонимаю)не могу разобраться
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2011, 20:25

Вывести максимальное количество коней, которых можно расставить на доске N*M так, чтобы они не били друг друга
Задается шахматная доска N*M Нужно вывести максимальное количество КОНЕЙ которых можно расставить...

Максимальное число шахматных коней расположенных так, чтобы они не били друг друга
Доброго времени суток, нужно написать программу для нахождения максимального числа шахматных коней...

Расставить на стандартной 64-клеточной доске 8 ферзей так, чтобы ни один из них не находился под боем другого
Расставить на стандартной 64-клеточной доске 8 ферзей так, чтобы ни один из них не находился под...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.