![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Murielpro |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 19.4.2015 Репутация: нет Всего: нет |
program PARKET;
const m=2; n=2; finish=(m*n)/2; type massiv=array[1..m,1..n] of byte; move=array[1..2] of 0..1; var tab: massiv; i,j,s: byte; ss: longint; const mvi: move=(1,0); mvj: move=(0,1); function mozno(var tab: massiv; i,j: byte): boolean; (* функция проверки: свободно ли место I,J *) begin if (tab[i,j]=0) and (i>0) and (i<=m) and (j>0) and (j<=n) then mozno:=true else mozno:=false end; (* конец процедуры проверки *) procedure nachalo(var tab: massiv; var u,v: byte); var i,j: byte; nul: boolean; begin nul:=false; i:=0; while (i<m) and not nul do begin i:=i+1; j:=0; while (j<n) and not nul do begin j:=j+1; if tab[i,j]=0 then nul:=true end end; v:=j; u:=i end; (* конец процедуры нахождения начальной точки *) procedure step(var tab: massiv; var s: byte; var ss: longint); (* процедура ставит плитку *) var l,u,v,uu,vv: byte; begin nachalo(tab,u,v); l:=0; repeat l:=l+1; uu:=u+mvi[l]; vv:=v+mvj[l]; if mozno(tab,uu,vv) then begin tab[u,v]:=s; tab[uu,vv]:=s; s:=s+1; if s>finish then ss:=ss+1 else step(tab,s,ss); (* рекурсивный шаг вперёд *) s:=s-1; tab[u,v]:=0; tab[uu,vv]:=0; (* шаг назад *) end; until (l=2) end; (* конец процедуры установки плитки *) (* начало основной программы *) begin for i:=1 to m do for j:=1 to n do tab[i,j]:=0; ss:=0; s:=1; step(tab,s,ss); writeln('всего способов укладки паркета - ',ss); readln end. Пишет - выход за границы диапозона изменения индекса 1..2 Подправьте кто может |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |