- 13 Tháng mười 2018
- 1,523
- 1,339
- 241
- 19
- Quảng Trị
- Trường TH&THCS Hải Ba
Chắc suất Đại học top - Giữ chỗ ngay!! ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.
Viết chương trình sắp xếp các phần tử của ma trận để tạo thành 1 ma trận xoắn ốc theo thứ tự tăng dần
Code:
var
a:array[1..100,1..100] of longint;
b:array[1..10000] of longint;
i,j,m,n,dd,tg,cc,dc,cd,k:longint;
begin
write('nhap m,n:');readln(m);readln(n);
for i:=1 to m do
for j:=1 to n do
readln(a[i,j]);
dd:=1;cc:=n;dc:=m;cd:=1;
repeat
for j:=cd to cc do
begin
k:=k+1;
b[k]:=a[dd,j];
end;
for i:=dd+1 to dc do
begin
k:=k+1;
b[k]:=a[i,cc];end;
for j:=cc-1 downto cd do
begin
k:=k+1;
b[k]:=a[dc,j];
end;
for i:=dc-1 downto dd+1 do
begin
k:=k+1;
b[k]:=a[i,cd];
end;
dd:=dd+1;cd:=cd+1;dc:=dc-1;cc:=cc-1;
Until k>=m*n; k:=k-2; for i:=1 to k do write(b,' ');
for i:=1 to k do
for j:=i+1 to k-1 do
if b>b[j] then begin
tg:=b;
b:=b[j];
b[j]:=tg;end;
dd:=1;cc:=n;dc:=m;cd:=1;
repeat
for j:=cd to cc do begin a[dd,j]:=b[k];k:=k-1;end;
for i:=dd+1 to dc do begin a[i,cc]:=b[k];k:=k-1;end;
for j:=cc-1 downto cd do begin a[dc,j]:=b[k];k:=k-1;end;
for i:=dc-1 downto dd+1 do begin a[i,cd]:=b[k];k:=k-1;end;
dd:=dd+1;cd:=cd+1;dc:=dc-1;cc:=cc-1;
Until k=0; writeln;
for i:=1 to m do begin
for j:=1 to n do write(a[i,j]);writeln;end;
readln
END.
Lỗi 201 là vì sao???
HELP ME PLS
Code:
var
a:array[1..100,1..100] of longint;
b:array[1..10000] of longint;
i,j,m,n,dd,tg,cc,dc,cd,k:longint;
begin
write('nhap m,n:');readln(m);readln(n);
for i:=1 to m do
for j:=1 to n do
readln(a[i,j]);
dd:=1;cc:=n;dc:=m;cd:=1;
repeat
for j:=cd to cc do
begin
k:=k+1;
b[k]:=a[dd,j];
end;
for i:=dd+1 to dc do
begin
k:=k+1;
b[k]:=a[i,cc];end;
for j:=cc-1 downto cd do
begin
k:=k+1;
b[k]:=a[dc,j];
end;
for i:=dc-1 downto dd+1 do
begin
k:=k+1;
b[k]:=a[i,cd];
end;
dd:=dd+1;cd:=cd+1;dc:=dc-1;cc:=cc-1;
Until k>=m*n; k:=k-2; for i:=1 to k do write(b,' ');
for i:=1 to k do
for j:=i+1 to k-1 do
if b>b[j] then begin
tg:=b;
b:=b[j];
b[j]:=tg;end;
dd:=1;cc:=n;dc:=m;cd:=1;
repeat
for j:=cd to cc do begin a[dd,j]:=b[k];k:=k-1;end;
for i:=dd+1 to dc do begin a[i,cc]:=b[k];k:=k-1;end;
for j:=cc-1 downto cd do begin a[dc,j]:=b[k];k:=k-1;end;
for i:=dc-1 downto dd+1 do begin a[i,cd]:=b[k];k:=k-1;end;
dd:=dd+1;cd:=cd+1;dc:=dc-1;cc:=cc-1;
Until k=0; writeln;
for i:=1 to m do begin
for j:=1 to n do write(a[i,j]);writeln;end;
readln
END.
Lỗi 201 là vì sao???
HELP ME PLS