Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.13;
Скачать: CL | DM;

Вниз

поворот массива   Найти похожие ветки 

 
SeF   (2004-05-26 22:16) [0]

Доброе время суток!
возникла проблема:
необходимо "повернуть" на 90 градусов по часовой стрелке массив(допустим 5 на 5).
Понимаю что это просто но от этого мыслей не прибовляется...
Подскажите где копать....


 
jack128 ©   (2004-05-26 22:26) [1]

const
 MatrixSize = 5;
type
 TMatrix = array[0..MatrixSize - 1, 0..MatrixSize - 1] of Integer;

function TurnMatrix(m: TMatrix): TMatrix;
var
 i, j: Integer;
begin
 for i := 0 to MatrixSize - 1 do
   for j := 0 to MatrixSize - 1 do
     Result[i, j] := m[MatrixSize - j - 1, i];
end;


 
Vasya.ru   (2004-05-27 00:08) [2]

необходимо "повернуть" на 90 градусов по часовой стрелке массив(допустим 5 на 5).
Транспонировать матрицу чтоли надо?


 
SeF   (2004-05-27 00:35) [3]

> jack128
Большое спасибо!


 
Sha ©   (2004-05-27 09:31) [4]

SeF   (27.05.04 00:35) [3]

Предостережение.
Учти, что в приведенном решении подразумевается, что исходный и результируюий массивы - это разные массивы.
Нельзя использовать это решение, напрмер, так: a:=TurnMatrix(a).


 
jack128 ©   (2004-05-27 09:42) [5]


> Нельзя использовать это решение, напрмер, так: a:=TurnMatrix(a).
а если подумать? ;-)


 
Sha ©   (2004-05-28 10:03) [6]

jack128 ©   (27.05.04 09:42) [5]

Подумал. Да, действительно, можно.
Мне и в голову не могло прийти, что кто-нибудь так может работать с массивами :)

В приведенном решении массив будет выполняться предварительное копирование массива. Это хорошо только в качестве учебного примера.


 
SergP ©   (2004-05-28 10:09) [7]

Хм...
Зачем что-то копировать и т.д. если можно работать с тем же самым массивом, просто по другому использовать индексы...


 
Sha ©   (2004-05-28 10:24) [8]

SergP ©   (28.05.04 10:09) [7]

Я так обычно и делаю. Поэтому и просмотрел отсутствие var/const в объявлении параметров.



Страницы: 1 вся ветка

Текущий архив: 2004.06.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
6-1082732730
god
2004-04-23 19:05
2004.06.13
TServerSocket & TClientSocket !!! ReciveText


3-1085377266
leonidus
2004-05-24 09:41
2004.06.13
Как быть если у человека не установлен BDE а СУБД должна работать


4-1084094478
Alexander Likhachev
2004-05-09 13:21
2004.06.13
Доступ к закрытым веткам в рестре W2K


6-1082816945
Yegorchic
2004-04-24 18:29
2004.06.13
Доступ к файлам по FTP...


14-1085552319
Igorek
2004-05-26 10:18
2004.06.13
Опрос: любимая пора года, суток и погода