1.pas 1.2 KB

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