Delphi-Help

Главная Статьи Математика Заполнение матрицы по спирали

Заполнение матрицы по спирали

Оцените материал
(4 голосов)


Заполнение матрицы по спирали

procedure TForm1.Button1Click(Sender: TObject);
var value,
        i, j, k: integer;
begin
        i:=0; k:=0; value:=1;
      { генерация спирали }
        while i < 100 do
        begin
          inc(k);
          {проходи по горизонтали "слева-направо"}
          for j:=k to m-k+1 do
            begin
              inc(i);
              mas[k,j]:=value; inc(value)
            end;
          {проходи по вертикали "сверху-вниз"}
          for j:=k+1 to n-k+1 do
            begin
              inc(i);
              mas[j,m-k+1]:=value; inc(value)
            end;
          {проходи по горизонтали "справа-налево"}
          for j:=m-k downto k do
            begin
              inc(i);
              mas[n-k+1,j]:=value; inc(value)
            end;
          {проходи по вертикали "снизу-вверх"}
          for j:=n-k downto k+1 do
            begin
             inc(i);
             mas[j,k]:=value; inc(value)
           end
        end;
      { вывод результатов генерации спирали }
 
for i := 1 to 10 do  begin
for j := 1 to 10 do
    label1.Caption:=label1.Caption+inttostr(mas[i,j])+' ';
label1.Caption:=label1.Caption+#13#10;
end;
 
end;
Прочитано 8699 раз

Авторизация



Счетчики