Lập trình Pascal – Sắp xếp ma trận – HSG tin Bảo Lộc 1819

Bài tập 3 sắp xếp ma trận hình soắn ốc, đây là bài tập hết sức quen thuộc

Xin giới thiệu với các bạn code do hs làm để tham khảo:

var i,j,k,t,s,n,m,tem: integer;
a: array[1..50,1..50] of integer; b:array[1..2500]of integer;
F:text;
begin
{—doc file ra mang mot chieu b-}
assign(F,’xoanoc.inp’);reset(F);
read(F,n);
k:=1;
for i:=1 to n do
for j:=1 to n do
begin
read(f,b[k]);
k:=k+1;
end;
close(F);
for j:=1 to n*n do write(b[j],’ ‘);
{– sap xep mang mot chieu——-}
for i:=1 to n*n-1 do
for j:=i+1 to n*n do if b[i]>b[j] then
begin
tem:=b[i];
b[i]:=b[j];
b[j]:=tem;
end;
//for j:=1 to n*n do write(b[j],’ ‘);
{————-Dat mang b vào mang a theo hinh xoan oc—————-}
m:=n-1;i:=1;j:=1;k:=1;
while m>0 do
begin
for t:=1 to m do begin
a[i,j]:=b[k];
j:=j+1; k:=k+1;
end;
for t:=1 to m do begin
a[i,j]:=b[k];
i:=i+1; k:=k+1;
end;
for t:=1 to m do begin
a[i,j]:=b[k];
j:=j-1; k:=k+1;
end;
for t:=1 to m do begin
a[i,j]:=b[k];
i:=i-1; k:=k+1;
end;
i:=i+1; j:=j+1;m:=m-2
end;
if m=0 then a[n div 2+1,n div 2+1]:=b[n*n];

{– xuat file ——}
assign(F,’XOANOC.OUT’);
rewrite(F);
for i:=1 to n do
begin
for j:= 1 to n do
write(f,a[i,j]:5);
writeln(f);
end;
close(F);
end.

bạn cũng nên xem hai bài cũng trong đề thi HSG TP Bảo Lộc

Đọc code rối quá thì hát nhép cho vui cái bạn:

THƯƠNG NHAU LÝ TƠ HỒNG

TG Hoàng Hải

#THƯƠNG nhớ nàng từng đêm khắc khoải
#NHAU mắt liếc anh ngoái trao duyên
#ĐIỆU hò vang tới ba miền
# ngựa ô đẹp thần tiên rạng ngời

# trời giăng thỏa khơi mộng ước
#HỒNG như cánh thược dược đậm sâu
#XÂY lên tổ ấm muôn mầu
#DỰNG ngôi nhà để rước dâu về làng

#HẠNH nhân đôi giờ sang trang mới
#PHÚC lâu bền kết sợi chỉ vàng
#SẼ cùng em bước thênh thang
#KHÔNG còn thao thức mình càng đắm say

#PHAI sao được tình này gắn bó
#MỜ đẩy lui sáng tỏ vầng đông
THƯƠNG NHAU ĐIỆU LÝ TƠ HỒNG
XÂY DỰNG HẠNH PHÚC SẼ KHÔNG PHAI MỜ!

 

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Back to top button