fork download
  1. 'LAMIBLOG 8 lipiec 2016
  2. CLS
  3. todrukujemy = 0
  4. 'zerojeden = 1
  5.  
  6. niedrukuj = 0 '0 to drukuje 1 to nie drukuje
  7.  
  8. DIM I(30) 'wskaznik tablic ZL,SP
  9. DIM POLE(19) 'pola plastra miodu
  10.  
  11. DIM SL(19, 19) 'sasiednie liczby
  12. FOR ii = 1 TO 19
  13. FOR jj = 1 TO 19
  14. IF ABS(ii - jj) >= 5 THEN SL(ii, jj) = 1
  15. NEXT jj
  16. NEXT ii
  17.  
  18. DIM WSP(19) 'WSP(7)=3 znaczy ze pole o nr 7 ma 3 sasiadow z mniejszymi numerami
  19. OPEN "wsp3.txt" FOR INPUT AS #1
  20. FOR ii = 2 TO 19
  21. INPUT #1, WSP(ii)
  22. NEXT ii
  23. CLOSE 1
  24.  
  25. DIM SP(19, 6) 'sasiednie pola
  26. OPEN "sp3.txt" FOR INPUT AS #2
  27. FOR ii = 2 TO 19
  28. FOR jj = 1 TO WSP(ii)
  29. INPUT #2, SP(ii, jj)
  30. NEXT jj
  31. NEXT ii
  32. CLOSE 2
  33.  
  34. DIM ZL(19) 'ZL(7)=1 liczba 7 jest juz wstawiona w plaster, ZL(zajete liczby)
  35.  
  36. licznik = 0 'zlicza dobre kombinacje
  37. numerpola = 1 'aktualny numer pola plastra
  38.  
  39. '---------------------------------------------------------------
  40. 'pole numer 1
  41.  
  42. I(numerpola) = 0 'liczba wpisana do aktualnego numeru pola plastra
  43.  
  44. nasti1:
  45. I(numerpola) = I(numerpola) + 1
  46. PRINT numerpola, I(numerpola)
  47.  
  48. IF I(numerpola) = 20 THEN STOP
  49. POLE(numerpola) = I(numerpola)
  50. ZL(POLE(numerpola)) = 1
  51.  
  52. IF niedrukuj = 1 THEN GOTO hop1
  53. PRINT numerpola; "---"; POLE(1); POLE(2); POLE(3); POLE(4)
  54. ' DO
  55. ' LOOP UNTIL INKEY$ = CHR$(27) '27 is the ASCII code for Esc.
  56. hop1:
  57. '---------------------------------------------------------------
  58. nastepnywezel: 'wezel = pole !!!!!!!!
  59. numerpola = numerpola + 1
  60. '---------------------------------------------------------------
  61.  
  62. 'pola od 2 do 19
  63.  
  64. I(numerpola) = 0
  65. DO
  66. nasti: 'dla danego numerpola sprawdzamy nastepna liczbe czy moze byc tu wpisana
  67. I(numerpola) = I(numerpola) + 1
  68. '''''''''''''''''''''''''''''''''''PRINT numerpola, I(numerpola)
  69. IF I(numerpola) = 20 THEN GOTO skok
  70.  
  71. IF ZL(I(numerpola)) = 1 THEN GOTO skok 'w tablicy ZL sprawdzamy ktore liczby sa wolne
  72. 'liczba jest wolna
  73. warunek = 1
  74. FOR pom = 1 TO WSP(numerpola)
  75. warunek = warunek * SL(I(numerpola), POLE(SP(numerpola, pom))) 'warunek=1 to sprawdzana liczba I(numerpola) moze byc wpisana w pole = numerpola
  76. NEXT pom
  77.  
  78. IF warunek = 0 THEN GOTO skok 'liczba I(numerpola) NIE moze byc wpisana w pole = numerpola
  79. POLE(numerpola) = I(numerpola) 'warunek=1
  80. ZL(POLE(numerpola)) = 1
  81. IF niedrukuj = 1 THEN GOTO hop
  82. IF numerpola = 19 THEN licznik = licznik + 1: PRINT licznik; "---"; POLE(1); POLE(2); POLE(3); POLE(4); POLE(5); POLE(6); POLE(7); POLE(8); POLE(9); POLE(10); POLE(11); POLE(12); POLE(13); POLE(14); POLE(15); POLE(16); POLE(17); POLE(18); POLE(19)
  83. 'DO
  84. 'LOOP UNTIL INKEY$ = CHR$(27) '27 is the ASCII code for Esc.
  85. hop:
  86.  
  87. IF numerpola < 19 THEN GOTO nastepnywezel ELSE GOTO hop19
  88.  
  89. skok:
  90. LOOP UNTIL I(numerpola) = 20
  91.  
  92. 'sprawdzone wszystkie 19 liczb wiec cofamy sie o jedno pole
  93. ZL(POLE(numerpola)) = 0: POLE(numerpola) = 0: ZL(POLE(numerpola - 1)) = 0: POLE(numerpola - 1) = 0
  94.  
  95. numerpola = numerpola - 1
  96. IF numerpola > 1 THEN GOTO nasti ELSE GOTO nasti1
  97.  
  98. hop19:
  99. 'zapisujemy dobra kombinacje
  100.  
  101. OPEN "wplastx3.txt" FOR APPEND AS #10
  102. WRITE #10, licznik, POLE(1), POLE(2), POLE(3), POLE(4), POLE(5), POLE(6), POLE(7), POLE(8), POLE(9), POLE(10), POLE(11), POLE(12), POLE(13), POLE(14), POLE(15), POLE(16), POLE(17), POLE(18), POLE(19)
  103. CLOSE 10
  104.  
  105. ZL(POLE(numerpola)) = 0: POLE(numerpola) = 0: ZL(POLE(numerpola - 1)) = 0: POLE(numerpola - 1) = 0: numerpola = numerpola - 1
  106.  
  107. GOTO nasti
  108.  
  109. your text goes here
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty