Здраствуйте.
Пишу тк зашел в тупик с поставленной мне задачей. Суть её такова:
Есть двумерный массив, который заполнен числами. Расположение цифр – спираль(тоесть примерно так
..1. 2. 3. 4. 5.
……………6.
……………7.
……………8.
……….10..9.
и так далее (очень сложно изобразить то что нужно здесь). Вместо …. стоят цифры
Проблема у меня в том что я не могу сообразить – как его заполнить. Через CASE он проходил только 2 линии ( Right и Down ) дальше же не рисовал. Прошу если у кого ни будь есть наподобие программа, или сама то скиньте.
Если этого нельзя сделать, то дайте наводку мозгам, в каком направлении думать. Заранее спасибо.
23 декабря 2008 в 23:04
)))))))))
23 декабря 2008 в 18:05
Вот что-то подобное:
//acmp.ru/index.asp?main=task&id_task=196
Мое решение – разберешься – ничего сложного нет
–
var
a:array [1..100,1..100] of integer;
Xmin,Xmax,Ymin,Ymax,n,i,j:integer;
k:integer;
begin
assign(input,'input.txt'); reset(input);
assign(output,'output.txt'); rewrite(output);
readln(n);
Xmin:=1; Ymin:=1; Xmax:=n; Ymax:=n; k:=0;
for i:=1 to n do begin
for j:=Xmin to Xmax do begin INC(k); a[Ymin,j]:=k; end;
INC(Ymin);
for j:=Ymin to Ymax do begin INC(k); a[j,Xmax]:=k; end;
DEC(Xmax);
for j:=Xmax downto Xmin do begin INC(k); a[Ymax,j]:=k; end;
DEC(Ymax);
for j:=Ymax downto Ymin do begin INC(k); a[j,Xmin]:=k; end;
INC(Xmin);
end;
for i:=1 to n do begin
for j:=1 to n do write(a[i,j]:2,' ');
writeln;
end;
end.
–
Решаю задачи по программированию не дорого
23 декабря 2008 в 18:05
Извиняюсь, но как это ни грустно, я нашел решение =(
если кто то в отчаянном положении как я (завтра зачет) то вот неплохой сайт для студентов: //forum.codenet.ru/archive/index.php/t-32022.html
P.S. извиняюсь если тут запрещено рекламировать
23 декабря 2008 в 18:05
Почему грустно? Это же хорошо
–
Кстати, там на Си++