1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Pautina |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 40 Пол: Женский Реальное имя: Nataly Репутация: 0 |
Доброго времени суток! очень нужна ваша помощь. Помогите решить задачу.
Начиная с центра. обойти по спирали все элементы квадратной матрицы размером 13х13 (распечатывая их в порядке обхода). Заранее огромное спасибо! |
![]() ![]() |
| St@senk@ |
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 48 Пол: Мужской Реальное имя: Максим Репутация: 1 |
Я попытался найти, но не нашел. Вот мое решение, проверял на таблице 5 на 5, но должно и на 13 на 13 работать.
Код program Project2; {$APPTYPE CONSOLE} uses SysUtils; const xl = 13; yl = 13; var ar : array [1..xl,1..yl] of integer; var arr : array [1..xl,1..yl] of boolean; var dir : integer; var x,y,i,j : integer; label CS; begin for i:= 1 to yl do begin for j:= 1 to xl do begin ar[j,i]:=(i-1)*xl+j; arr[j,i]:=false; end; end; x:=1; y:=1; dir:=0; repeat arr[x,y]:=true; write(ar[x,y],' '); CS: case dir of 0:if (x=xl) or arr[x+1,y] then begin dir:=1; goto CS; end else inc(x); 1:if (y=yl) or arr[x,y+1] then begin dir:=2; goto CS; end else inc(y); 2:if (x=1) or arr[x-1,y] then begin dir:=3; goto CS; end else dec(x); 3:if (y=0) or arr[x,y-1] then begin dir:=0; goto CS; end else dec(y); end; until (y=(yl div 2)+1) and (x=(xl div 2)+1); readln; { TODO -oUser -cConsole Main : Insert code here } end. Сообщение отредактировано: St@senk@ - -------------------- Три пути ведут к знанию: путь размышления - это путь самый благородный, путь подражания - это путь самый легкий и путь опыта - это путь самый горький.
Конфуций |
Pautina Квадратная матрица 23.03.2007 1:11
Tan Поиск, подобное задание есть. 23.03.2007 3:22
Алена St@senk@, задание было:А у тебя - как раз с левого… 23.03.2007 4:03
St@senk@ Если я приведу полностью работающий код, то не буд… 23.03.2007 4:20
Алена А ты и так привел нерабочий код. Во всяком случае,… 23.03.2007 4:23
St@senk@ с поиском, согласен, искать совсем не умею.
prog… 23.03.2007 4:29
Pautina В поиске не смогла ничего найти.. :( 24.03.2007 1:41
Pautina Так и не смогла понять, в чем смысл данной проги..… 24.03.2007 3:01
St@senk@ :) скажи честно, ты хоть взглянула на код? Думаю, … 24.03.2007 3:13
-Pautina- Конечно,смотрела.. если не заметил, там даже файл … 24.03.2007 13:58
St@senk@ Работает она так же как и у меня.
for i:=1 to yl … 24.03.2007 14:19
Pautina а не мог бы ты прикрепить саму прогу? 27.03.2007 3:14
Pautina Попробовала написать по-другому.. но все равно ест… 28.03.2007 1:58
volvo const
size = 13;
var
X, Y: integer;
square:… 28.03.2007 15:00
@лё][@ Всё-таки порядок обхода в выше написанной программ… 31.03.2010 20:03![]() ![]() |
|
Текстовая версия | 4.01.2026 2:37 |