제가 X자를 찍는 배열 프로그램을 짰는데요 이상하게 X자가 안되고
>자가 되네요 일단 A부터Z까지 사선으로 만들고 다음 Z부터 A까지
메모장 맨위루 간다음 반대로 사선 그으면서 출력하는건데 잘 안되네요
소스좀 보시구 말씀좀 부탁드립니다
procedure TForm1.Button1Click(Sender: TObject);
var
I,j,m : Integer;
const
Myarray : array[0..25] of string =('A','B','C','D','E','F','G',
'H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
begin
for i:=0 to 25 do
begin
memo1.text := memo1.text+Myarray[i]+#13+#10;
for j:=0 to i do
memo1.text := memo1.text+ ' ';
end;
memo1.text:= memo1.text.setfocus;
for i:=25 downto 0 do
begin
memo1.text := memo1.Text+Myarray[i]+#13+#10;
for j:=0 to i do
memo1.text := memo1.text+' ';
end
end;
X 가되려면
A..................A
B................B
머 이런식 아닌가요? 한줄그은다음 올라가서 다시그린다? 이걸 한번에 그리면 되지 않나요?
예전에 베이직 프로그램 배울때 하던것이 생각나 재미 있었습니다.
참고하십시오.
//정방향
for i:=0 to 25 do begin
space:='';
for j:=0 to i do
space:=space+' ';
m:=50-i*2;
memo1.lines.add(space+Myarray[i]+replicate(m)+MyArray[i]);
end;
//역방향
for i:=24 downto 0 do begin
space:='';
for j:=i downto 0 do
space:=space+' ';
m:=50-i*2;
memo1.lines.add(space+Myarray[i]+replicate(m)+MyArray[i]);
end;
end;
function tform1.replicate(cnt:byte):string;
var
i:byte;
begin
result:='';
for i:=0 to cnt do
result:=result+'..';
end;
공돌이 wrote:
> 제가 X자를 찍는 배열 프로그램을 짰는데요 이상하게 X자가 안되고
> >자가 되네요 일단 A부터Z까지 사선으로 만들고 다음 Z부터 A까지
> 메모장 맨위루 간다음 반대로 사선 그으면서 출력하는건데 잘 안되네요
> 소스좀 보시구 말씀좀 부탁드립니다
>
>
> procedure TForm1.Button1Click(Sender: TObject);
> var
> I,j,m : Integer;
> const
> Myarray : array[0..25] of string =('A','B','C','D','E','F','G',
> 'H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
> begin
> for i:=0 to 25 do
> begin
> memo1.text := memo1.text+Myarray[i]+#13+#10;
> for j:=0 to i do
> memo1.text := memo1.text+ ' ';
> end;
> memo1.text:= memo1.text.setfocus;
>
>
> for i:=25 downto 0 do
> begin
>
> memo1.text := memo1.Text+Myarray[i]+#13+#10;
> for j:=0 to i do
> memo1.text := memo1.text+' ';
> end
>
> end;
>