10-09-2005, 09:05 PM
Liquid Snake:
You should really try to use more arrays and loops in your programs.
I have tried to shorten the program, just as an example. I have almost certainly broken something in the change, so it will need more debugging than your version...
You should really try to use more arrays and loops in your programs.
I have tried to shorten the program, just as an example. I have almost certainly broken something in the change, so it will need more debugging than your version...
Code:
REM Lottery Probability
REM By Tom White
CLS
REM %=INTEGER
REM array declaration
defint a-z
dim entry(1 to 10, 1 to 10)
dim x(1 to 52)
DIM NTH(1 to 10)
dim nx(1 to 52)
for i=1 to 52:x(i)=0:next
PRINT "WELCOME TO MY LOTTERY PROBABILITY PROGRAM."
PRINT "THIS PROGRAM WILL BASICALLY TELL YOU WHICH NUMBERS COME UP THE MOST AND LEAST."
PRINT "I HAVE NO IDEA IF YOU'LL WIN OR NOT...IT'S SUPPOSEDLY RANDOM."
PRINT
PRINT "YOU CAN ENTER UP TO 10 SETS OF NUMBERS."
PRINT "YOU CAN ENTER A MAXIMUM OF 10 NUMBERS PER SET. IF THERE ARE LESS"
PRINT "THAN 10 NUMBERS PER SET, JUST USE 0'S FOR THOSE EXTRA SPACES"
PRINT
PRINT
PRINT
PRINT "PRESS ANY KEY TO CONTINUE"
SLEEP 40
PRINT
PRINT "LETS GET STARTED."
PLACE = 0
DO
IF PLACE = 0 THEN GOSUB HOME
IF PLACE = 1 THEN GOSUB NUMBERS
IF PLACE = 2 THEN GOSUB PROB
IF PLACE = 3 THEN GOSUB SAVE
IF PLACE = 4 THEN GOSUB LOAD
IF PLACE = 5 THEN END
LOOP
'
'---------------------------------------------------------------------------------------------------
HOME:
PRINT
1 PRINT "MAIN"
PRINT "HERE ARE YOUR CHOICES"
PRINT "1. START PUTTING IN NUMBERS"
PRINT "2. SHOW PROBABILITIES"
PRINT "3. SAVE NUMBERS"
PRINT "4. LOAD NUMBERS"
PRINT "5. QUIT"
DO
INPUT PLACE
PLACE = INT(PLACE)
LOOP UNTIL (PLACE > 0) AND (PLACE < 6)
RETURN
'
'-------------------------------------------------------------------------------------------------------
NUMBERS:
PRINT
PRINT "I HAVEN'T REALLY MADE THIS DUMMY PROOF, SO IF YOU MESS UP, YOU'RE IN TROUBLE."
PRINT "SO REMEMBER...PLACE ZEROES INTO THE EXTRA SPACES. THERE ARE 10 SPACES IN ALL."
PRINT "AFTER EACH ENTRY PRESS ENTER. AND FOLLOW THE DIRECTIONS!"
FOR I=1 TO 10
INPUT "ENTER THE NUMBERS FOR THIS FIRST ENTRY, EACH FOLLOWED BY A COMMA, EXCEPT FOR THE LAST ONE"; A, B, C, D, E, F, G, H, I, J
ENTRY(I,1) = A
ENTRY(I,2) = B
ENTRY(I,3) = C
ENTRY(I,4) = D
ENTRY(I,5) = E
ENTRY(I,6) = F
ENTRY(I,7) = G
ENTRY(I,8) = H
ENTRY(I,9) = I
ENTRY(I,10) = J
DO
INPUT "DO YOU WANT TO STOP?(Y/N)"; DONE$
IF (DONE$ = "Y") THEN GOTO 1
LOOP UNTIL DONE$ = "N"
NEXT
PLACE = 0
RETURN
'
'
'-----------------------------------------------------------------------------------------------------------
PROB:
PRINT "GETTING THE PROBABILITY OF THE NUMBERS(MOST COMMON)."
REM ALL ENTRIES
FOR X1=1 TO 10
FOR X = 1 TO 10
x1=ENTRY(1,x)
x(x1)=x(x1)+1
NEXT X
NEXT X1
'
'
'
for i=1 to 10:
nth(i)=0
next
PICKED = 0
for i=1 to 52
nx(i)=0:
next
FOR Z = 1 TO 10
for i=1 to 24
if (picked < x(i)) and (nx(i)=0) then
picked=i :nx(i)=1
end if
next
for i=25 to 52
if (picked < x(i)) then
flag=0
for j=1 to 10
if nth(j)=x(i) then flag=1:exit for
next
if flag=0 then picked=i
end if
next
nth(z)=picked
PRINT Z
PRINT PICKED
SLEEP 10
NEXT Z
PRINT "YOUR FIRST SET: ";"-";
for i=1 to 10
print nth(i);"-";
next
PLACE = 0
RETURN
'
'
'-----------------------------------------------------------------------------------------------------------------
SAVE:
INPUT "ENTER A SMALL FILENAME"; FILENAME$
OPEN FILENAME$ FOR OUTPUT AS #1
for i=1 to 52
PRINT #1, x(i)
next
CLOSE
PLACE = 0
RETURN
'
'
'------------------------------------------------------------------------------------------------------------------
LOAD:
INPUT "WHAT IS YOUR FILE CALLED?"; FILENAME$
FILENAME$ = FILENAME$ + ".TXT"
OPEN FILENAME$ FOR INPUT AS #1
DO
IF EOF(1) = -1 THEN EXIT DO
for i=1 to 52
INPUT #1, x(i)
next
LOOP
CLOSE
PLACE = 0
RETURN
Antoni