2.pas 934 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. const
  2. count = 20;
  3. len = 20;
  4. first_numb = 12;
  5. var
  6. DB : array [1..count] of string;
  7. INP : text;
  8. k : integer;
  9. Procedure Exchange(var s1,s2 : string);
  10. var
  11. tmp : string;
  12. begin
  13. tmp := s1;
  14. s1 := s2;
  15. s2 := tmp;
  16. end;
  17. Procedure SortNum(num : integer);
  18. var
  19. i, j : integer;
  20. begin
  21. for i := 1 to count-1 do
  22. for j:=count-1 downto i do
  23. begin
  24. if DB[j+1,num] > DB[j,num] then Exchange(DB[j], DB[j+1]);
  25. end;
  26. end;
  27. begin
  28. Assign(INP,'phones.txt');
  29. {$I-}
  30. Reset(INP);
  31. If IOResult <> 0 then
  32. begin
  33. WriteLn('File ''phones.txt'' not found');
  34. Halt(255);
  35. end;
  36. {$I+}
  37. for k := 1 to count do
  38. ReadLn(INP,DB[k]);
  39. Close(INP);
  40. for k := first_numb+8 downto first_numb do
  41. if not (k in [first_numb+3,first_numb+6]) then
  42. SortNum(k);
  43. for k := 1 to count do
  44. WriteLn(DB[k]);
  45. WriteLn('End.');
  46. end.