一个图形算法的问题!!谢谢!(50分)

  • 主题发起人 主题发起人 gotiger
  • 开始时间 开始时间
G

gotiger

Unregistered / Unconfirmed
GUEST, unregistred user!
编写一个程序,从键盘输入一个整型变量表示行数,使屏幕上显示相应的图案。
如:
输入1显示
**
输入2显示
**
****
输入3显示
**
 ****
********
输入4显示
**
   ****
  ********
****************
依次类推。

请问怎么实现?
 
[:D]给自己顶下![:D]不能沉大海啊!
 
一个edit,一个button
button响应事件:
procedure TForm1.Button1Click(Sender: TObject);
var
count:integer;
i:integer;
j:integer;
begin
count:=StrToInt(edit1.Text );//获取行数
for i:=1 to Count do //外循环画行数
for j:=1 to (i*2) do //内循环画每行
canvas.TextOut(((j+Count-i)*10),(i*10),'*');
end;
 
从输入3以后就有问题了!
要求 输入三的时候是第三行8个 你的是6个
 
一开始看错了,还以为每行都是行数×2呢,稍微修改下
procedure TForm1.Button1Click(Sender: TObject);
var
count:integer;
i:integer;
j:integer;
t:integer;
begin
count:=StrToInt(edit1.Text );//获取行数
for i:=1 to count do //外循环画行数
begin
t:=Trunc(IntPower(2,i));
for j:=1 to t do //内循环画每行
canvas.TextOut((j*10+trunc(IntPower(2,count)-t)*5),(i*10),'*');
end;
end;
 
搞定了 给分!谢谢!!![:D][:D][:D]
 

Similar threads

D
回复
0
查看
850
DelphiTeacher的专栏
D
D
回复
0
查看
853
DelphiTeacher的专栏
D
D
回复
0
查看
863
DelphiTeacher的专栏
D
后退
顶部