IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> и опять матрицы
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской

Репутация: -  0  +


помогите составить основной алгоритм для решения задачи
она сформулирована так:
ВВести целое число К, которая является размерностью квадратной матрицы и натуральное число N- исходные данные
Сформировать матрицу и повернуть ее по часовой стрелке на N шагов...

очень буду признателен, если выложите именно рекурсивную процедуру для поворота матрицы....хотя можно и другими способами(просто наш препод любит рекурсии)...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(reboot @ 16.02.2009 18:27) *
спасибо...но не много не то......под шагом тут понимается на сколько символов надо сдвинуть, а не поворот под градусом
то есть к примеру первый a[1,1] при шаге в 1 символ сдвинется на a[2,1], при шаге в 3 символа на a[4,1]...
то есть поворот все же есть...но по другому
Хм.. Извини, но если ты хочешь какую-то нестандартную операцию, то изволь определить ее полностью и детально. И если под словом "дом" ты реально понимаешь гибрид слона со столом, то лучше не трать время тех, кто хочет тебе помочь. Операция "поворот", которую ты упомнинал в первом сообщении:
Цитата(reboot @ 16.02.2009 14:57) *
Сформировать матрицу и повернуть ее по часовой стрелке на N шагов...
- подразумевает (в общепринятом смысле) именно то, что я сделал (хотя слово "шаг" действительно вносит некоторое сомнение относительно того, понимаешь ли ты сам, что спрашиваешь). Твой "поворот" нигде в математике не употребляется. И если тебя не устраивает общепринятый смысл слов - приводи свой "словарь".

amega тебе описал алгоритм, вот его реализация, распространенная с кромки (то есть внешнего слоя) на все слои.
  for i:=1 to k div 2 do begin
b:=a[i,i];
for j:=i to k-i do a[j,i]:=a[j+1,i];
for j:=i to k-i do a[k-i+1,j]:=a[k-i+1,j+1];
for j:=k-i downto i do a[j+1,k-i+1]:=a[j,k-i+1];
for j:=k-i downto i+1 do a[i,j+1]:=a[i,j];
a[i,i+1]:=b
end;


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 8.12.2022 17:43
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name