fork download
  1. program ideone;
  2.  
  3. type TData=array[0..8,0..8] of Integer;
  4. type TArr=array[0..8,0..8] of Boolean;
  5.  
  6. const data:TData=
  7. (
  8. (10,11,12,13,14,15,16,17,18),
  9. (19,20,21,22,23,24,25,26,27),
  10. (28,29,30,31,32,33,34,35,36),
  11. (37,38,39,40,41,42,43,44,45),
  12. (46,47,48,49,50,51,52,53,54),
  13. (55,56,57,58,59,60,61,62,63),
  14. (64,65,66,67,68,69,70,71,72),
  15. (73,74,75,76,77,78,79,80,81),
  16. (82,83,84,85,86,87,88,89,90)
  17. );
  18.  
  19. procedure randShow(var arr:TArr;ToShow:Integer);
  20. var I,P:Integer;
  21. var swap:Boolean;
  22. begin
  23. for I:=0 to ToShow-1 do arr[0,I]:=true;
  24. for I:=ToShow to 9*9-1 do arr[0,I]:=false;
  25. for I:=1 to 9*9-1 do
  26. begin
  27. P:=Random(I+1);
  28. swap:=arr[0,P];
  29. arr[0,P]:=arr[0,I];
  30. arr[0,I]:=swap;
  31. end;
  32. end;
  33.  
  34. procedure show(const data:TData;const arr:TArr);
  35. var Y,X:Integer;
  36. begin
  37. for Y:=0 to 9-1 do
  38. begin
  39. for X:=0 to 9-1 do
  40. begin
  41. if arr[Y,X] then Write(' ',data[Y,X]) else Write(' --');
  42. end;
  43. WriteLn;
  44. end;
  45. WriteLn;
  46. end;
  47.  
  48. var arr:TArr;
  49. begin
  50. Randomize;
  51. randShow(arr,10);
  52. show(data,arr);
  53. randShow(arr,20);
  54. show(data,arr);
  55. randShow(arr,30);
  56. show(data,arr);
  57. randShow(arr,40);
  58. show(data,arr);
  59. end.
Success #stdin #stdout 0s 232KB
stdin
Standard input is empty
stdout
 -- -- -- 13 -- -- -- -- --
 -- -- -- -- -- -- -- -- --
 -- -- -- -- -- -- -- -- --
 -- -- -- -- -- -- 43 -- --
 -- -- -- -- -- -- -- -- --
 -- -- -- 58 -- -- 61 -- --
 64 -- -- -- 68 -- -- -- --
 73 -- -- -- -- 78 -- -- --
 -- -- -- -- 86 -- 88 -- --

 -- 11 -- -- -- -- 16 -- --
 -- 20 21 -- 23 -- -- 26 --
 -- -- 30 -- 32 -- -- -- --
 -- -- -- 40 41 -- -- -- --
 -- -- 48 49 -- -- -- -- --
 -- 56 -- -- -- -- -- 62 --
 -- -- -- -- -- -- -- -- --
 -- 74 -- -- -- -- -- -- 81
 82 -- -- -- 86 87 -- -- 90

 10 11 12 13 -- -- -- 17 18
 -- -- 21 22 -- 24 -- -- --
 28 -- 30 -- -- -- 34 -- --
 -- 38 39 -- -- -- -- -- --
 46 -- -- 49 -- -- -- -- 54
 -- -- 57 -- -- -- -- -- --
 -- -- -- 67 -- -- -- 71 --
 73 -- 75 -- -- -- 79 80 81
 -- 83 -- -- 86 87 88 89 --

 -- 11 -- -- 14 15 -- -- --
 19 -- 21 -- 23 -- 25 26 --
 -- -- 30 31 -- -- 34 -- 36
 -- -- 39 40 41 42 43 44 45
 -- -- 48 49 -- -- -- 53 --
 -- 56 -- 58 -- 60 -- 62 63
 -- -- -- -- 68 69 70 71 72
 -- -- -- -- 77 78 -- -- 81
 -- -- -- 85 -- 87 88 89 90