Guest User

Untitled

a guest
Feb 19th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.25 KB | None | 0 0
  1. program wypelnianie_po_spirali;
  2. const n = 5; m = 12;
  3. var
  4. a:array[1..n,1..m] of integer;
  5. gora,dol,lewa,prawa,k,i,j:integer;
  6. kierunek:integer;
  7. begin
  8.     prawa := n;
  9.     lewa := 1;
  10.     dol := m;
  11.     gora := 1;
  12.     kierunek := 1;
  13.        
  14.     i := lewa;
  15.     j := gora;
  16.  
  17.     for k := 1 to m*n do
  18.         begin
  19.             case kierunek of
  20.             -1: if i = lewa then
  21.                 begin
  22.                     a[i][j]:= k;
  23.                     kierunek := 2;
  24.                     lewa := lewa + 1;
  25.                     j := j - 1;
  26.                
  27.                 end
  28.                
  29.                 else
  30.  
  31.                 begin
  32.                 a[i][j] := k;
  33.                 dec(i);
  34.                 end;           
  35.             1: if i = prawa then
  36.                 begin
  37.                     a[i][j]:= k;
  38.                     kierunek := -2;
  39.                     prawa := prawa - 1;
  40.                     gora := gora + 1;
  41.                     j := j + 1;
  42.                 end
  43.                
  44.                 else
  45.  
  46.                 begin
  47.                 a[i][j] := k;
  48.                 inc(i);
  49.                 end;
  50.             -2: if j = dol then
  51.                 begin
  52.                     a[i][j]:= k;
  53.                     kierunek := -1;
  54.                     dol := dol - 1;
  55.                     i := i - 1;
  56.                 end
  57.                
  58.                 else
  59.  
  60.                 begin
  61.                 a[i][j] := k;
  62.                 inc(j);
  63.                 end;
  64.             2: if j = gora then
  65.                 begin
  66.                     a[i][j]:= k;
  67.                     kierunek :=  1;
  68.                     i := i + 1;
  69.                 end
  70.                
  71.                 else
  72.  
  73.                 begin
  74.                 a[i][j] := k;
  75.                 dec(j);
  76.                 end;
  77.                        
  78.            
  79.         end;
  80.         end;
  81.     for j:=1 to m do
  82.         begin
  83.         for i:=1 to n do       
  84.             write(a[i][j], ' ');
  85.         writeln;
  86.         end;
  87.            
  88. end.
Add Comment
Please, Sign In to add comment