thieumao

Sắp xếp danh sách sinh viên

Apr 10th, 2013
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.60 KB | None | 0 0
  1. uses crt;
  2. type
  3.   ht = record
  4.     ho: string[7];
  5.     dem: string[7];
  6.     ten: string[7];
  7.   end;
  8.   danhsach = record
  9.     hoten: ht;
  10.     diemtb: real;
  11.   end;
  12. var
  13.   n,chon: byte;
  14.   a: array[1..100] of danhsach;
  15. procedure nhap;
  16. var i:byte;
  17. begin
  18.   write('n= '); readln(n);
  19.   for i:=1 to n do
  20.     begin
  21.       writeln('** Nhap nguoi thu ',i);
  22.       writeln('Ho ten   : ');
  23.       write('- Ho : '); readln(a[i].hoten.ho);
  24.       write('- Dem: '); readln(a[i].hoten.dem);
  25.       write('- Ten: '); readln(a[i].hoten.ten);
  26.       write('Diem TB  : '); readln(a[i].diemtb);
  27.     end;
  28. end;
  29. procedure xuat;
  30. var i:byte;
  31.     st: string[21];
  32. begin
  33.   writeln('*** Danh sach ***':32);
  34.   writeln('STT':5, 'Ho ten':22, 'Diem TB':10);
  35.   for i:=1 to n do
  36.     begin
  37.       st := a[i].hoten.ho + ' '+ a[i].hoten.dem + ' '+ a[i].hoten.ten;
  38.       writeln(i:5,st:22,a[i].diemtb:10:1);
  39.     end;
  40. end;
  41. procedure tang;
  42. var i,j:byte;
  43.     tg: danhsach;
  44. begin
  45.   for i:=1 to n-1 do
  46.     for j:=i+1 to n do
  47.       if a[i].diemtb > a[j].diemtb then
  48.         begin
  49.           tg := a[i];
  50.           a[i] := a[j];
  51.           a[j] := tg;
  52.         end;
  53. end;
  54. procedure giam;
  55. var i,j:byte;
  56.     tg: danhsach;
  57. begin
  58.   for i:=1 to n-1 do
  59.     for j:=i+1 to n do
  60.       if a[i].diemtb < a[j].diemtb then
  61.         begin
  62.           tg := a[i];
  63.           a[i] := a[j];
  64.           a[j] := tg;
  65.         end;
  66. end;
  67. begin
  68.   clrscr;
  69.   nhap;
  70.   writeln('Ban muon sap xep tang/giam ?');
  71.   writeln(' - Chon 1 de tang');
  72.   writeln(' - Chon 2 de giam');
  73.   readln(chon);
  74.   case chon of
  75.     1: tang;
  76.     2: giam;
  77.   end;
  78.   xuat;
  79.   readln;
  80. end.
Advertisement
Add Comment
Please, Sign In to add comment