CLS
luk$ = "                                                                   "
DIM u(50): DIM m(50): DIM n(20)
DIM d(20, 71): DIM e(71)
f(1) = 50: f(2) = 20
b$(1) = "mit akarsz": b$(2) = "mivel akarod"
FOR w = 1 TO 2
FOR i = 1 TO 50
u(i) = 0
NEXT i
c = 0
LOCATE 10, 1: PRINT b$(w); " megszorozni? (legfeljebb"; f(w); " jegy lehet)"
LOCATE 1, 2: PRINT ""
FOR r = 1 TO f(w)
aa: a$ = INKEY$: IF a$ = "" THEN GOTO aa
IF a$ = CHR$(13) AND r > 1 THEN r = r - 1: GOTO atir
IF c = 0 AND VAL(a$) = 0 THEN GOTO aa
IF a$ <> "0" AND VAL(a$) = 0 THEN GOTO aa
IF VAL(a$) > 0 THEN c = 1
u(r) = VAL(a$)
LOCATE 1, (w - 1) * (i0 + 3) + 2 + r: PRINT a$
IF r = f(w) THEN SOUND 2000, .5: GOTO atir
NEXT r
atir: SOUND 3000, .5
IF w = 1 THEN i0 = r: LOCATE 1, r + 3: PRINT "*" ELSE j0 = r: LOCATE 1, i0 + r + 6: PRINT ""
FOR i = 1 TO r
IF w = 1 THEN m(r - i + 1) = u(i) ELSE n(r - i + 1) = u(i)
NEXT i
NEXT w
LOCATE 10, 1: PRINT luk$

szorzas:
FOR j = j0 TO 1 STEP -1
FOR i = 1 TO i0
d(j, i + j - 1) = m(i) * n(j) + p - 10 * INT((m(i) * n(j) + p) / 10)
p = INT((m(i) * n(j) + p) / 10)
LOCATE j0 - j + 2, i0 + j0 - j - i + 3: PRINT RIGHT$(STR$(d(j, i + j - 1)), 1)
NEXT i
d(j, i0 + j) = p
IF p > 0 THEN LOCATE j0 - j + 2, j0 - j + 2: PRINT RIGHT$(STR$(p), 1)
p = 0
NEXT j
 
osszeadas:
FOR i = 1 TO i0 + j0 + 1
LOCATE j0 + 2, i: PRINT ""
NEXT i
LOCATE j0 + 1, 1: PRINT "+"
p = 0
FOR k = 1 TO j0 + i0
FOR l = 1 TO j0
e(k) = e(k) + d(l, k)
NEXT l
t = INT((e(k) + p) / 10)
e(k) = e(k) + p - 10 * t


LOCATE j0 + 3, i0 + j0 + 2 - k: PRINT RIGHT$(STR$(e(k)), 1)
p = t
NEXT k

