生成一个正方矩阵了?!
这难吗?!

解决方案 »

  1.   

    procedure TForm1.FormPaint(Sender: TObject);
    var
      k:integer;n:real;
      x,y:integer;
      z:integer;
      movex,movey:integer;
      move:array[1..4] of integer;
      unitwidth:integer;
    begin
      n:=10;
      x:=0;y:=1;
      z:=0;
      unitwidth:=20;
      move[1]:=-1;
      move[2]:=0;
      move[3]:=1;
      move[4]:=0;
      movex:=3;
      movey:=2;
      while n>0 do
      begin
        for k:=1 to trunc(n) do
        begin
          x:=x+move[movex]*1;
          y:=y+move[movey]*1;
          z:=z+1;
          form1.Canvas.TextOut(x*unitwidth,y*unitwidth,inttostr(z));
        end;
        n:=n-0.5;
        movex:=(movex+1) mod 5;
        if movex=0 then movex:=1;
        movey:=(movey+1) mod 5;
        if movey=0 then movey:=1;
      end;
    end;
    功能是实现了,不过程序比较烂,对付着看吧
      

  2.   

    呵呵,忘了说了,上面是f(10)的情况