Viết chương trình in ra các số nguyên từ 1 đến N^2 theo hình xoắn ốc với N được nhập vào từ bàn phím.
Ví dụ, với N=5 ta có:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
Giải
Var
i,n,ng,d,j,dem,x,y,a,b,kt: integer;
doc,ngang: boolean;
Begin
Write('Nhap n: '); Readln(n);
x:=10; y:=10; doc:=false; ngang:= true; a:=3; b:=3;kt:=1;dem:=1;j:=1;ng:=n;d:=n-1;i:=1;
Repeat
If ngang Then
If dem <= ng Then
begin
dem:=dem+1; x:=x+a;
gotoxy(x,y);
Write(i); i:=i+1;
end
Else
begin
ngang:=false; doc:= true;
if a=3 then a:=-3
else a:=3; dem:=1; ng:=ng-1;
end;
If doc Then
If dem <= d Then
begin
dem:=dem+1; y:=y+b; gotoxy(x,y); Write(i); i:=i+1;
End
Else
begin
doc:=false; ngang:=true; if b=-3 then b:=3 else b:=-3; dem:=1;d:=d-1;
end;
Until i=n*n+1;
Readln;
END.
No comments:
Post a Comment
Cảm ơn bạn đã nhận xét