fork(1) download
  1. program ideone;
  2. var
  3. nomor : array[1..10] of integer;
  4. apaini : integer;
  5.  
  6. procedure hayo(a : integer);
  7. var temp, now : integer;
  8. begin
  9. now := 1;
  10. while now < a do
  11. begin
  12. temp := nomor[now];
  13. nomor[now] := nomor[a];
  14. nomor[a] := temp;
  15. inc(now); dec(a);
  16. end;
  17. inc(apaini);
  18. end;
  19.  
  20. function wow(x : integer) : integer;
  21. var apa, kenapa : integer;
  22. begin
  23. apa := 1;
  24. for kenapa := 1 to x do
  25. if(nomor[kenapa] > nomor[apa]) then
  26. apa := kenapa;
  27. wow := apa;
  28. end;
  29.  
  30. procedure dolan(opo : integer);
  31. var dolanan, i : integer;
  32. begin
  33. for i := opo downto 2 do
  34. begin
  35. dolanan := wow(i);
  36. if dolanan <> i-1 then
  37. begin
  38. hayo(dolanan);
  39. hayo(i-1);
  40. end;
  41. end;
  42. end;
  43.  
  44. var i : integer;
  45. begin
  46. apaini := 0;
  47. nomor[1] := 2; nomor[2] := 4; nomor[1] := 3; nomor[4] := 0; nomor[5] := 9;
  48. nomor[6] := 8; nomor[7] := 1; nomor[8] := 6; nomor[9] := 5; nomor[10] := 7;
  49. dolan(10);
  50. for i := 1 to 10 do
  51. write(nomor[i], ' ');
  52.  
  53. end.
Success #stdin #stdout 0s 336KB
stdin
Standard input is empty
stdout
9 0 0 4 3 8 1 6 5 7