Помощь - Поиск - Пользователи - Календарь
Полная версия: matrix
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
The_Annie
Ксажите пожалуйста кто-нибуть знает как расположить елементы отсортированной матрицы в ввиде "улитки"?
The_Annie
Помогите пожалуйста решить мне мою проблему!
error_404
>в ввиде "улитки"
а это как?  ???
trminator
Кажется, это так:

04 03 02 01
05 14 13 12
06 15 16 11
07 08 09 10

Формулу вывести у меня обломалось... ненавижу задачи такого плана...
The_Annie
Пожалуйста! Ну я вас очень прошу, хотя бы принцып!
trminator
Вот эта гадость
Код

const m = 5;
var a: array[1..m, 1..m] of integer;
   i, j, di, dj, n  : integer;
   min_i, min_j, max_i, max_j : integer;
begin
 i:=1; j:=m; dj:=-1; di:=0;
 A[i,j]:=1;

 min_i:=2; min_j:=1;
 max_i:=m; max_j:=m;

 for n:=2 to m*m do
 begin
 {1}
     if (dj<>0) and (j+dj < min_j) then
     begin
         dj:=0; di:=1; inc(min_j)
     end else
 {2}
     if (di<>0) and (i+di > max_i) then
     begin
         di:=0; dj:=1; dec(max_i)
     end else
 {3}
     if (dj<>0) and (j+dj > max_j) then
     begin
         dj:=0; di:=-1; dec(max_j)
     end else
 {4}
     if (di<>0) and (i+di < min_i) then
     begin
         di:=0; dj:=-1; inc(min_i)
     end;

     inc(i, di); inc(j, dj);
     A[i,j]:=n
 end;
end.

ужас... да чтобы я еще раз за ЭТО сел
The_Annie
От спасибо! :D
AlaRic
trminator, да молодец-молодец! ха-ха  ;D ;D ;D
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.