Matrix multiplication: Difference between revisions

Applesoft BASIC
(Applesoft BASIC)
(Applesoft BASIC)
Line 1,003:
 
===Applesoft BASIC===
A nine-liner that fits on one screen. The code and variable names are similar to [[#BASIC|BASIC]] with DATA from [[Full_BASIC|Full BASIC]].
<lang gwbasic> 01 FOR K = 0 TO 1:M = O:N = P: READ O,P: IF K THEN DIM B(O,P): IF N < > O THEN PRINT "INVALID DIMENSIONS": STOP
1 IF NOT K THEN DIM A(O,P)
2 FORIF I = 1 TO O: FOR J = 1 TO P: IFNOT K THEN READDIM BA(IO,JP)
3 IFFOR I NOT= 1 TO O: FOR J = 1 TO P: IF K THEN READ AB(I,J)
14 IF NOT K THEN DIMREAD A(OI,PJ)
45 NEXT J,I,K: DIM AB(M,P): FOR I = 1 TO M: FOR J = 1 TO P: FOR K = 1 TO N:AB(I,J) = AB(I,J) + (A(I,K) * B(K,J)): NEXT K,J,I: FOR I = 1 TO M: FOR J = 1 TO P: PRINT MID$ (S$,1 + (J = 1),1)AB(I,J);:S$ = " " + CHR$ (13): NEXT J,I
1010000 DATA4,2
1110010 DATA1,2,3,4,5,6,7,8
2020000 DATA2,3
2120010 DATA1,2,3,4,5,6</lang>
 
===Full BASIC===
{{works with|Full BASIC}}
413

edits