RosettaCodeData/Task/Symmetric-difference/BBC-BASIC/symmetric-difference.basic

24 lines
684 B
Plaintext

DIM list$(4)
list$() = "Bob", "Jim", "John", "Mary", "Serena"
setA% = %11101
PRINT "Set A: " FNlistset(list$(), setA%)
setB% = %01111
PRINT "Set B: " FNlistset(list$(), setB%)
REM Compute symmetric difference:
setC% = setA% EOR setB%
PRINT '"Symmetric difference: " FNlistset(list$(), setC%)
REM Optional:
PRINT "Set A \ Set B: " FNlistset(list$(), setA% AND NOT setB%)
PRINT "Set B \ Set A: " FNlistset(list$(), setB% AND NOT setA%)
END
DEF FNlistset(list$(), set%)
LOCAL i%, o$
FOR i% = 0 TO 31
IF set% AND 1 << i% o$ += list$(i%) + ", "
NEXT
= LEFT$(LEFT$(o$))