Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Змейка

Автор: TimeStopper 28.09.2006 18:34

Помогите пожалуйста нарисовать вот такую змейку в матрице размером N*N.

При N=3 то надо нарисовать:

1 2 6
3 5 7
4 8 9

При N=4 то надо нарисовать:

1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16

2<N<100.




Автор: Michael_Rybak 28.09.2006 19:29

var n, i, j: longint;
a: array[0 .. 127, 0 .. 127] of word;

function F(i, j: longint): word;
var s: word;
begin
s := i + j;
if s >= n then
F := n * n - F(n - 1 - i, n - 1 - j) + 1
else
F := s * (s + 1) div 2 + 1 + (s mod 2) * (i - j) + j;
end;

begin
Readln(n);
for i := 0 to n - 1 do begin
for j := 0 to n - 1 do begin
a[i][j] := F(i, j);
Write(a[i][j] : 3);
end;
Writeln;
Writeln;
end;
end.

Автор: TimeStopper 28.09.2006 22:31

Спасибо большое.

Автор: -mixcraft- 15.05.2007 13:37

А как сделать чтобы она заполнялась не по-строчно а по-элементно?