|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.04.2007, 13:24 | #1 |
Пользователь
Регистрация: 14.12.2006
Сообщений: 26
|
Заполнить матрицу по спирали (turbo pascal)
Прошу помощи. Буду очень благодарен.
Задание: Спираль. Матрицу М (m строк, n столбцов) заполнить натуральными числами от 1 до mxn (x - умножить) по спирали, начинающейся в левом верхнем углу и закрученной по часовой стрелке. Т.е. как я понимаю из задания, надо запросить у юзера m и n. И закрутить числа по спирали. Помогите пожалуйста. |
27.04.2007, 14:47 | #2 |
Студент
Форумчанин
Регистрация: 10.11.2006
Сообщений: 196
|
Уточни, это должно выглядеть так, или нет:
_1__2__3__4__5__6 12_11_10__9__8__7 13_14_15_16_17_18 Если да, то: Код:
Visita Interiorem Terrae Rectificando Operae Lapidem...
|
27.04.2007, 14:53 | #3 |
_________
Пользователь
Регистрация: 27.03.2007
Сообщений: 69
|
Скорее, думаю, что так:
1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 Ведь змейка и спираль - вещи разные Код:
|
27.04.2007, 21:51 | #4 |
Пользователь
Регистрация: 14.12.2006
Сообщений: 26
|
Спасибо огромное! Очень рад, что есть есть этот форум, и люди готовые помочь. Благодарю.
Последний раз редактировалось cL1zMa; 27.04.2007 в 21:56. |
28.04.2007, 08:52 | #5 |
Пользователь
Регистрация: 14.12.2006
Сообщений: 26
|
Уважаемые, помогите пожалуйста ещё составить к этой программе словесный алгоритм и частично формализованный вид этого словесного алгоритма.
Например 1. Запросить число m 2. Запросить число n ... 15. Вывести на экран Сам составить не могу, т.к. не до конца понимаю код программы. Спасибо. |
04.05.2010, 17:51 | #6 |
Новичок
Джуниор
Регистрация: 16.03.2010
Сообщений: 2
|
помогите изменить программу (сейчас она заполняет матрицу с нижнего правого угла, а мне надо с верхнего левого)
program pr1; uses crt; var a: array [1..5,1..5] of byte; i,j,k,v,b,c,d: byte; begin clrscr; i:=5; j:=1; v:=1; b:=0; c:=0; d:=2; a[i,j]:=1; k:=2; repeat while i>v do begin dec(i); a[i,j]:=k; inc(k); end; inc(v); while j<5-b do begin inc(j); a[i,j]:=k; inc(k); end; inc(b); while i<5-c do begin inc(i); a[i,j]:=k; inc(k); end; inc(c); while j>d do begin dec(j); a[i,j]:=k; inc(k); end; inc(d); until k>25; for i:=1 to 5 do begin writeln; for j:=1 to 5 do begin if a[i,j]<=25 then write (a[i,j]:2, ' '); if a[i,j]>=5 then if a[i,j]=25 then end; end; readln end. |
04.05.2010, 19:43 | #7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
1) используйте тег [СODE] (кнопка с решёточкой # )
2) а чем не подходит программка из #3 (c) RSLoader |
12.05.2010, 09:23 | #8 |
Новичок
Джуниор
Регистрация: 16.03.2010
Сообщений: 2
|
не подходит мне нужна вот этим способом)))
да и я с началом ошибся мне из верхнего правого вниз надо....... |
16.05.2020, 12:00 | #9 |
Пользователь
Регистрация: 16.05.2020
Сообщений: 57
|
Матрица по спирали из любого угла или из центра, по часовой или против часовой на Turbo Pascal
Код:
Последний раз редактировалось canadamoscow; 16.05.2020 в 12:17. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка матрицы по спирали {pascal} | Влдислаав3911 | Помощь студентам | 3 | 10.04.2012 22:05 |
Массив (Turbo Pascal) | Wizzard | Помощь студентам | 2 | 20.01.2008 09:59 |