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

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

04.10.2011, 19:05. Просмотров 3516. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2011, 19:05
Ответы с готовыми решениями:

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

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

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

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

__________________
Помогаю в написании курсовых работ и дипломов здесь.
2
Модератор
63223 / 46978 / 32379
Регистрация: 18.05.2008
Сообщений: 113,863
04.10.2011, 20:09 2
Цитата Сообщение от Александр1994 Посмотреть сообщение
т.к в паскале полный ноль
И какого же Вас занесло в решение такой задачи?
0
-24 / 0 / 0
Регистрация: 04.10.2011
Сообщений: 17
04.10.2011, 20:25  [ТС] 3
ну это я так образно немногопонимаю)не могу разобраться
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2011, 20:25

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

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

Расставить на доске N ферзей так, чтобы они не били друг друга
смысл в том чтобы расставить на шахматной доске размером N*N, N ферзей так, чтобы они не били друг...

На шахматной доске расставить 8 ферзей так, чтобы они не били друг друга
На шахматной доске расставить 8 ферзей так, чтобы они не били друг друга

Расставить 8 ферзей на шахматной доске так, чтобы они не били друг друга
В коде какая-то ошибка поправьте пожалуйста unit Unit1; interface uses Winapi.Windows,...


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

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

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