Chủ Nhật, 21 tháng 7, 2019

Bài 24 - Giải thuật nhập môn

Viết chương trình nhập vào giờ đến và giờ đi của các xe tại một bến xe. Biết rằng các xe có thể đậu trong ngày (từ 0 đến 23 giờ)
a/ Nhập vào giờ cần thống kê. Cho biết tại bến có bao nhiêu xe vào thời điểm đó và đó là những xe nào.
b/ Cho biết xe tập trung đông nhất tại bến là lúc nào.
 Ví dụ:
- Số xe tại bến: 7
Xe Giờ đến    Giờ đi
1 7 11
2 10 13
3 3 8
4 0 7
5 16 20
6 11 15
7 18 23

- Giờ cần thống kê: 12
=> Tổng số xe đang đậu tại bến 12 giờ là 2 xe.
       Là xe số: 2, 6.
- Xe tập trung đông nhất vào lúc:
       7 giờ / xe số 1, 3, 4
      11 giờ / xe số 1, 2, 6

1 nhận xét:

  1. Uses crt;
    Var n,g,i,j,max:longint;
    den,di,dem:array[1..10000] of longint;
    Begin
    Write('So xe tai ben:');readln(n);
    For i:=1 to n do
    Begin
    Writeln('Xe:',i);
    Write('Gio den:');readln(den[i]);
    Write('Gio di:');readln(di[i]);
    end;
    Write('Gio can thong ke:');readln(g);
    For i:=1 to 24 do
    For j:=1 to n do
    If (den[j]<=i)and(i<=di[j]) then dem[i]:=dem[i]+1;
    Writeln('Tong so xe dang dau tai ben ',g,' gio la:',dem[g]);
    Write('Do la xe so:');
    For i:=1 to n do
    If (den[i]<=g)and(g<=di[i]) then Write(i,' ');
    For i:=1 to 24 do
    If dem[i]>max then max:=dem[i];
    Writeln;
    Writeln('Xe tap trung dong nhat vao luc:');
    For i:=1 to 24 do
    If dem[i]=max then
    Begin
    Write(i,' Gio:');
    For j:=1 to n do
    If (den[j]<=i)and(i<=di[j]) then Write(j,' ');
    Writeln;
    end;
    readln;
    end.

    Trả lờiXóa

Dùng nick gmail để bình luận. Nếu lần đầu tiên bạn làm điều này thì hệ thống sẽ chuyển bạn sang trang blogger và hỏi bạn chọn tên hiển thị là gì. Bạn hãy nhập tên hiển thị rồi ok là được. Những lần bình luận sau hệ thống sẽ không hỏi nữa. Cảm ơn!

Bài được xem nhiều nhất