Tin học Viết chương trình sắp xếp các phần tử của ma trận

Trâm Nguyễn Thị Ngọc

Giải Nhất event Thế giới Sinh học 2
Thành viên
13 Tháng mười 2018
1,523
1,339
241
19
Quảng Trị
Trường TH&THCS Hải Ba
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
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.
upload_2018-11-28_18-36-26.png



Lỗi 201 là vì sao???
HELP ME PLS
 

Attachments

  • upload_2018-11-28_18-22-0.png
    upload_2018-11-28_18-22-0.png
    470 KB · Đọc: 35
  • upload_2018-11-28_18-22-10.png
    upload_2018-11-28_18-22-10.png
    470 KB · Đọc: 37
Top Bottom