fork download
  1. program ideone;
  2. type
  3. TUInt8Array = array [0 .. 9] of UInt8;
  4. TUInt8Rec = record
  5. Number: UInt8;
  6. Index: UInt8;
  7. end;
  8. const
  9. NUMBERS_ARR: TUInt8Array = (4, 8, 1, 6, 2, 0, 3, 7, 5, 9);
  10. var
  11. ir1stMin: TUInt8Rec = (Number: High(UInt8); Index: 0);
  12. ir2ndMin: TUInt8Rec = (Number: High(UInt8); Index: 0);
  13. intNumIdx: UInt8;
  14. begin
  15. for intNumIdx := Low(NUMBERS_ARR) to High(NUMBERS_ARR) do
  16. if NUMBERS_ARR[intNumIdx] < ir1stMin.Number then
  17. begin
  18. ir2ndMin := ir1stMin;
  19. ir1stMin.Number := NUMBERS_ARR[intNumIdx];
  20. ir1stMin.Index := intNumIdx;
  21. end
  22. else
  23. if NUMBERS_ARR[intNumIdx] < ir2ndMin.Number then
  24. begin
  25. ir2ndMin.Number := NUMBERS_ARR[intNumIdx];
  26. ir2ndMin.Index := intNumIdx;
  27. end;
  28.  
  29. WriteLn('1st | Number: ', ir1stMin.Number, ', Index: ', ir1stMin.Index);
  30. WriteLn('2st | Number: ', ir2ndMin.Number, ', Index: ', ir2ndMin.Index);
  31. ReadLn;
  32. end.
Success #stdin #stdout 0s 232KB
stdin
Standard input is empty
stdout
1st | Number: 0, Index: 5
2st | Number: 1, Index: 2