0 VALUE ARR_SIZE
CREATE ARR HERE
1 , -1 , -3 , 4 , 0 , 5 , -6 , -7 , 9 ,
HERE SWAP - CELL / TO ARR_SIZE
CREATE Q 3 CELLS ALLOT
: 1+! ( addr - ) DUP @ 1+ SWAP ! ;
: SIGNUM
DUP 0> IF DROP 1 EXIT THEN 0< ;
: HOW-MANY-NUMBERS ( WHERE SIZE - )
0 ?DO DUP @ SIGNUM 1+ CELLS Q + 1+! CELL+ LOOP DROP ;
: .ANSWER
Q
CR ." Negatives=" DUP @ . CELL+
CR ." Zeroes=" DUP @ . CELL+
CR ." Positives" @ . ;
: MAIN
Q 3 CELLS ERASE
ARR ARR_SIZE HOW-MANY-NUMBERS
.ANSWER ;
MAIN
CjAgVkFMVUUgQVJSX1NJWkUKCkNSRUFURSBBUlIgSEVSRQoxICwgLTEgLCAtMyAsIDQgLCAwICwgNSAsIC02ICwgLTcgLCA5ICwKSEVSRSBTV0FQIC0gQ0VMTCAvIFRPIEFSUl9TSVpFCgpDUkVBVEUgUSAzIENFTExTIEFMTE9UCgo6IDErISAoIGFkZHIgLSApIERVUCBAIDErIFNXQVAgISA7Cgo6IFNJR05VTSAKIERVUCAwPiBJRiBEUk9QIDEgRVhJVCBUSEVOIDA8IDsKCjogSE9XLU1BTlktTlVNQkVSUyAoIFdIRVJFIFNJWkUgLSApCjAgP0RPIERVUCBAIFNJR05VTSAxKyBDRUxMUyBRICsgIDErISBDRUxMKyBMT09QIERST1AgOwoKOiAuQU5TV0VSCiBRCkNSIC4iIE5lZ2F0aXZlcz0iIERVUCBAIC4gQ0VMTCsgCkNSIC4iIFplcm9lcz0iIERVUCBAIC4gQ0VMTCsKQ1IgLiIgUG9zaXRpdmVzIiBAIC4gOwoKOiBNQUlOCiBRIDMgQ0VMTFMgRVJBU0UKQVJSIEFSUl9TSVpFIEhPVy1NQU5ZLU5VTUJFUlMKLkFOU1dFUiA7CgpNQUlOCgo=