Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Môn Tin Học Lớp 9 Lập bảng số nguyên nxn tăng dần theo hình zizac(pascal hay c/c++ đều được)
Home/Tổng hợp/Môn Tin Học Lớp 9 Lập bảng số nguyên nxn tăng dần theo hình zizac(pascal hay c/c++ đều được)
Môn Tin Học Lớp 9 Lập bảng số nguyên nxn tăng dần theo hình zizac(pascal hay c/c++ đều được)
Question
Môn Tin Học Lớp 9 Lập bảng số nguyên nxn tăng dần theo hình zizac(pascal hay c/c++ đều được) Giúp em bài này với ạ em cần gấp, đừng copy nguồn trên mạng nha. Em xin cảm ơn thầy cô và các bạn nhiều.
uses crt; var n,i,j:longint; a:array[1..1000,1..1000]of longint; procedure make; var i,x,y,k,z:longint; begin x:=1; y:=1; k:=1; i:=0; repeat inc(i); a[x,y]:=i; if (x=1)and(y<>n) then begin inc(y); k:=2; inc(i); a[x,y]:=i; end else if (y=1)and(x<>n) then begin inc(x); k:=1; inc(i); a[x,y]:=i; end else if x=n then begin inc(y); k:=1; inc(i); a[x,y]:=i; end else if y=n then begin inc(x); k:=2; inc(i); a[x,y]:=i; end; if k=1 then begin dec(x); inc(y) end else if k=2 then begin inc(x); dec(y) end; until i>=n*n-3; a[n,n]:=n*n; a[n,n-1]:=n*n-1 end; begin clrscr; write(‘n=’);readln(n); make; for i:=1 to n do begin for j:=1 to n do write(a[i,j]:5); writeln; end; readln end.
Var i, j, n, Col, Row, count: Word; arr: Array[1..10000, 1..10000] of Word; Begin count:= 0; readln(n); for i:= 1 to n do If i mod 2 = 0 then Begin Row:=1; for Col:= i downto 1 do Begin Inc(count); Arr[Row][Col]:= count; Inc(Row); End; End else Begin Col:=1; for Row:= i downto 1 do Begin Inc(count); Arr[Row][Col]:= count; Inc(Col); End; End; for i:= 1 to n-1 do If i mod 2 = 0 then Begin Col:=n; for Row:= i+1 to n do Begin Inc(count); Arr[Row][Col]:= count; Dec(Col); End; End else Begin Row:=n; for Col:= i+1 to n do Begin Inc(count); Arr[Row][Col]:= count; Dec(Row); End; End; for i:=1 to n do Begin for j:=1 to n do write(arr[i][j], ‘ ‘); writeln(); End; End.
Trả lời ( )
uses crt;
var n,i,j:longint; a:array[1..1000,1..1000]of longint;
procedure make;
var i,x,y,k,z:longint;
begin
x:=1; y:=1; k:=1; i:=0;
repeat
inc(i);
a[x,y]:=i;
if (x=1)and(y<>n) then begin inc(y); k:=2; inc(i); a[x,y]:=i; end else
if (y=1)and(x<>n) then begin inc(x); k:=1; inc(i); a[x,y]:=i; end else
if x=n then begin inc(y); k:=1; inc(i); a[x,y]:=i; end else
if y=n then begin inc(x); k:=2; inc(i); a[x,y]:=i; end;
if k=1 then begin dec(x); inc(y) end else
if k=2 then begin inc(x); dec(y) end;
until i>=n*n-3;
a[n,n]:=n*n; a[n,n-1]:=n*n-1
end;
begin
clrscr;
write(‘n=’);readln(n);
make;
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]:5);
writeln;
end;
readln
end.
Var
i, j, n, Col, Row, count: Word;
arr: Array[1..10000, 1..10000] of Word;
Begin
count:= 0;
readln(n);
for i:= 1 to n do
If i mod 2 = 0 then
Begin
Row:=1;
for Col:= i downto 1 do
Begin
Inc(count);
Arr[Row][Col]:= count;
Inc(Row);
End;
End
else
Begin
Col:=1;
for Row:= i downto 1 do
Begin
Inc(count);
Arr[Row][Col]:= count;
Inc(Col);
End;
End;
for i:= 1 to n-1 do
If i mod 2 = 0 then
Begin
Col:=n;
for Row:= i+1 to n do
Begin
Inc(count);
Arr[Row][Col]:= count;
Dec(Col);
End;
End
else
Begin
Row:=n;
for Col:= i+1 to n do
Begin
Inc(count);
Arr[Row][Col]:= count;
Dec(Row);
End;
End;
for i:=1 to n do
Begin
for j:=1 to n do
write(arr[i][j], ‘ ‘);
writeln();
End;
End.