fork download
  1. program ideone;
  2.  
  3. {$MODE OBJFPC}{$LONGSTRINGS ON}
  4.  
  5. const
  6. BET_NUMBERS_COUNT = 6;
  7.  
  8. type
  9. TBet = object
  10. private
  11. FNumbers: array [0 .. BET_NUMBERS_COUNT - 1] of UInt8;
  12. FDate: TDate;
  13. private
  14. function GetNumber(AIndex: Integer): UInt8;
  15. procedure SetNumber(AIndex: Integer; ANumber: UInt8);
  16. procedure SwapNumbers(AIndex: Integer);
  17. public
  18. constructor Init();
  19. public
  20. procedure Fill(ANumbers: array of UInt8);
  21. procedure Sort();
  22. procedure Print();
  23. public
  24. property Number[AIndex: Integer]: UInt8 read GetNumber write SetNumber;
  25. property Date: TDate read FDate write FDate;
  26. end;
  27.  
  28. constructor TBet.Init();
  29. begin
  30. FillChar(FNumbers[0], BET_NUMBERS_COUNT, 0);
  31. FDate := 0;
  32. end;
  33.  
  34. function TBet.GetNumber(AIndex: Integer): UInt8;
  35. begin
  36. Result := FNumbers[AIndex];
  37. end;
  38.  
  39. procedure TBet.SetNumber(AIndex: Integer; ANumber: UInt8);
  40. begin
  41. FNumbers[AIndex] := ANumber;
  42. end;
  43.  
  44. procedure TBet.SwapNumbers(AIndex: Integer);
  45. begin
  46. PUInt16(@FNumbers[AIndex])^ := Swap(PUInt16(@FNumbers[AIndex])^);
  47. end;
  48.  
  49. procedure TBet.Fill(ANumbers: array of UInt8);
  50. begin
  51. FNumbers := ANumbers;
  52. end;
  53.  
  54. procedure TBet.Sort();
  55. var
  56. int1, int2: Integer;
  57. begin
  58. for int1 := 0 to BET_NUMBERS_COUNT - 2 do
  59. for int2 := 0 to BET_NUMBERS_COUNT - 2 do
  60. if FNumbers[int2] > FNumbers[int2 + 1] then
  61. SwapNumbers(int2);
  62. end;
  63.  
  64. procedure TBet.Print();
  65. var
  66. intNumber: UInt8;
  67. begin
  68. for intNumber in FNumbers do
  69. Write(intNumber:3);
  70.  
  71. WriteLn();
  72. end;
  73.  
  74. var
  75. Bet: TBet;
  76. begin
  77. Bet.Init();
  78. Bet.Fill([3, 2, 4, 6, 1, 5]);
  79. Bet.Print();
  80. Bet.Sort();
  81. Bet.Print();
  82.  
  83. ReadLn();
  84. end.
Success #stdin #stdout 0s 276KB
stdin
Standard input is empty
stdout
  3  2  4  6  1  5
  1  2  3  4  5  6