Delphi-Help

Главная Статьи Массивы Как изменить массив чтоб он начинался с левого верхнего угла и закручивался по спирали против часовой стрелки

Как изменить массив чтоб он начинался с левого верхнего угла и закручивался по спирали против часовой стрелки

Оцените материал
(1 Голосовать)


Как изменить массив чтоб он начинался с левого верхнего угла и закручивался по спирали против часовой стрелки

uses crt;
var
  a:array[1..100,1..100]of integer;
  i,imax,imin,j,jmax,jmin,k,m,n:integer;
begin
  write('Vvedite 4islo strok: ');
  readln(m);
  write('Vvedite 4islo stolbcov: ');
  readln(n);
  jmin:=1;
  jmax:=m;
  imin:=2;
  imax:=n;
  k:=0;
  repeat
    for j:=jmin to jmax do
    begin
      inc(k);
      a[j,imin-1]:=k;
    end;
    for i:=imin to imax do
    begin
      inc(k);
      a[jmax,i]:=k;
    end;
    dec(jmax);
    for j:=jmax downto jmin do
    begin
      inc(k);
      a[j,imax]:=k;
    end;
    dec(imax);
    for i:=imax downto imin do
    begin
      inc(k);
      a[jmin,i]:=k;
    end;
    inc(imin);
    inc(jmin);
  until k>=m*n;
  for i:=1 to m do
  begin
    writeln;
    for j:=1 to n do write(a[i,j]:3);
  end;
  readln;
end.
Прочитано 5245 раз
Другие материалы в этой категории: « Примеры работы с массивами (исходники)

Авторизация



Счетчики