9.29.2017

Đội hình bóng đá

Đội hình thi đấu bóng đá.( lưu thành file bai1.pas, tại thư mục bài làm)
Đội hình thi đấu của một đội bóng được thể hiện bởi ba số X, Y, Z trong đó X là số cầu thủ hậu vệ, Y là số cầu thủ tiền vệ, Z là số cầu thủ tiền đạo. Khi đã biết chính xác tên các cầu thủ cũng như chức năng của mỗi cầu thủ thì ta có thể biết được chính xác đội hình thi đấu của đội bóng đó. Viết chương trình thực hiện yêu cầu:
- Dữ liệu: file văn bản có tên BDA.INP có 11 dòng, mỗi dòng ghi tên một cầu thủ tiếp theo là dấu cách và chức năng của cầu thủ đó, chức năng là một trong các cặp kí tự: TD-Tiền đạo, TV- Tiền vệ, HV-Hậu vệ, TM-Thủ môn.
- Kết quả: ghi vào file văn bản có tên BDA.OUT theo cấu trúc:
Dòng đầu ghi 3 số X, Y, Z mỗi số cách nhau một dấu cách
Dòng thứ hai ghi tên các cầu thủ tiền đạo
Dòng thứ ba ghi tên các cầu thủ tiền vệ
Dòng thứ tư ghi tên các cầu thủ hậu vệ
Dòng thứ năm ghi tên thủ môn.
VD
           BDA.INP                     BDA.OUT
           Vinh -TD                         4 4 2
           Em -TV                           Vinh – Tien
           Hoang -HV                      Em -Phuong - Tai - Phong
           Phuong -TV                     Hoang -Thanh - Thinh - Duc
           Tai -TV                             Son
           Thanh -HV
           Son -TM
           Thinh -HV
           Phong -TV
           Duc -HV
           Tien -TD

                                                                        Giải

var
   f:text;
   a,b,h:array[1..100] of string;
   n:string;
   i,x,y,z,k,m:integer;
begin
     assign(f,'bda.inp');
     reset(f);
              for i:= 1 to 11 do
                  begin
                       readln(f,b[i]);
                       n:=b[i];k:=0;  m:=length(b[i]);
                       h[i]:= n[m-1]+ n[m];
                       repeat
                             k:=k+1;
                             a[i]:= a[i] + n[k]
                       until n[k+1]= ' ';
                       writeln(h[i]);
                  end;
     close(f);
     assign(f,'bda.out');
     rewrite(f);
                for i:= 1 to 11 do
                    begin
                         if h[i] = 'HV' then x:= x+1;
                         if h[i] = 'TV' then y:= y+1;
                         if h[i] = 'TD' then z:= z+1;
                    end;
                writeln(f,x,' ',y,' ',z);
                for i:= 1 to 11 do
                      if h[i] = 'TD' then
                         begin
                              z:= z-1;
                              write(f,a[i]);
                              if z<> 0 then write(f,' - ')
                              else writeln(f);
                         end;
                for i:= 1 to 11 do
                      if h[i] = 'TV' then
                         begin
                              y:= y-1;
                              write(f,a[i]);
                              if y<> 0 then write(f,' - ')
                              else writeln(f);
                         end;
                for i:= 1 to 11 do
                      if h[i] = 'HV' then
                         begin
                              x:= x-1;
                              write(f,a[i]);
                              if x<> 0 then write(f,' - ')
                              else writeln(f);
                         end;
                for i:= 1 to 11 do
                    if h[i] = 'TM' then writeln(f,a[i]);
     close(f);
readln;
end.

No comments:

Post a Comment

Cảm ơn bạn đã nhận xét