BÀI TẬP 36: XẾP HÀNG

        Lớp 9A có N học sinh (n<=50), mỗi bạn được gắn với một mã số bất kì. Trong buổi đồng diễn thể dục N bạn được xếp thành một hàng dọc theo thứ tự từ nhỏ đến lớn của mã số. Để đội hình toàn trường cân đối thầy giáo chuyển một bạn lớp khác vào vị trí trong hàng có mã số là K vào đội hình lớp 9A. Em hãy giúp thầy giáo xếp bạn có mã số K vào vị trí trong hàng sao cho không làm xáo trộn đội hình đã được sắp xếp mà vẫn đảm bảo nguyên tắc xếp hàng đã nói trên. Hãy viết chương trình thực hiện công việc đó.

            Dữ liệu vào: cho file text XEPHANG.INP có 2 dòng, trong đó:

            - Dòng đầu: ghi 2 số NK.

            - Dòng thứ hai ghi các mã số của mỗi học sinh viết cách nhau ít nhất một dấu cách.

            Kết quả ra: ghi ra file text XEPHANG.OUT gồm 2 dòng:

            - Dòng một: ghi vị trí xếp bạn mã số K vào hàng.

            - Dòng hai: hàng được xếp.

XEPHANG.INP

XEPHANG.OUT

7 3

2 4 5 7 8 9 12

2

2 3 4 5 7 8 9 12


CODE THAM KHẢO:
program xep_hang;
var a:array[1..50] of integer;
    f:text;
    i,n,k,l: integer;
begin
        assign(f,'xephang.inp'); reset(f);
        read(f,n,k);
        for i:=1 to n do read(f,a[i]);
        close(f);
        assign(f,'xephang.out'); rewrite(f);
        i:=1;
        while (k>a[i]) and (i<=n) do i:=i+1;
        for l:=n+1 downto i do
        a[l]:=a[l-1];
        a[i]:=k;
        writeln(f,i);
        for i:=1 to n+1 do write(f,a[i],' ');
        close(f);
end.



Nhãn:

Đăng nhận xét

[blogger]

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.
Javascript DisablePlease Enable Javascript To See All Widget