YOMEDIA
NONE

Viết chương trình nhập họ tên đầy đủ trong lớp học không quá 50 người hãy sắp xếp họ tên của các học viên theo thứ tự alphabet nếu tên trùng nhau thì sắp xếp theo tên đệm nếu tên đệm trùng nhau thì sắp xếp theo tên họ in ra màn hình danh sách sau khi đã sắp xếp?

Hỏi về pascal !!!

Viết chương trình nhập họ tên đầy đủ trong lớp học( không quá 50 người). Hãy sắp xếp họ tên của các học viên theo thứ tự alphabet (nếu tên trùng nhau thì sắp xếp theo tên đệm, nếu tên đệm trùng nhau thì sắp xếp theo tên họ). In ra màn hình danh sách sau khi đã sắp xếp.

Theo dõi Vi phạm
ADSENSE

Trả lời (1)

  • uses crt;
    type ht=record
    ho:string[15];
    dem:string[10];
    ten:string[10];
    end;
    var a:array[1..100] of ht;
    stmp:ht;
    i,j,n,tmp:integer;
    s1,s2:string;
    begin
    clrscr;
    write('So hs < 50! so hs=');readln(n);
    for i:=1 to n do
    begin
    write('Ho hs ',i,':');readln(a[i].ho);
    write('dem hs ',i,':');readln(a[i].dem);
    write('Ten hs ',i,':');readln(a[i].ten);
    end;

    for i:=1 to n do
    for j:=i+1 to n do
    begin
    if a[i].ten>a[j].ten then
    begin
    stmp:=a[i];
    a[i]:=a[j];
    a[j]:=stmp;
    end;
    if a[i].ten=a[j].ten then
    if a[i].dem>a[j].dem then
    begin
    stmp:=a[i];
    a[i]:=a[j];
    a[j]:=stmp;
    end
    else if a[i].dem=a[j].dem then
    if a[i].ho>a[j].ho then
    begin
    stmp:=a[i];
    a[i]:=a[j];
    a[j]:=stmp;
    end;

    end;
    for i:=1 to n do
    begin
    writeln('Hs ',i,':',a[i].ho,' ',a[i].dem,' ',a[i].ten);
    end;
    readln;
    end.

      bởi Tran Quang Huy 02/11/2018
    Like (0) Báo cáo sai phạm

Nếu bạn hỏi, bạn chỉ thu về một câu trả lời.
Nhưng khi bạn suy nghĩ trả lời, bạn sẽ thu về gấp bội!

Lưu ý: Các trường hợp cố tình spam câu trả lời hoặc bị báo xấu trên 5 lần sẽ bị khóa tài khoản

Gửi câu trả lời Hủy
 
NONE

Các câu hỏi mới

AANETWORK
 

 

YOMEDIA
AANETWORK
OFF