10 REM ***** MATRIZENMULTIPLIKATION ***** 20 POKE 53280,0:POKE 53281,0 30 REM ----- EINGABE DER PARAMETER ----- 40 PRINTCHR$(147)CHR$(17)CHR$(17)CHR$(18)"PARAMETER DER MATRIZEN:" 50 PRINTCHR$(17)CHR$(17)"NAME DER 1.MATRIX"TAB(32);:INPUTA$ 60 PRINT"ANZAHL SPALTEN(S1) U. ZEILEN(Z1)"TAB(31);:INPUTS1,Z1 70 PRINTCHR$(17)"NAME DER 2.MATRIX"TAB(32);:INPUTB$ 80 PRINT"ANZAHL SPALTEN(S2) U. ZEILEN(Z2)"TAB(31);:INPUTS2,Z2 90 PRINTCHR$(17)CHR$(17)"FUER DIE AUSGABE DER MATRIX GEBEN SIE BITTE AN:" 100 PRINT"VERWENDEN SIE EINEN 80-ZEICHEN-BILDSCHIRM (J/N)" 110 GETD$:IF D$<>"J" AND D$<>"N" THEN 110 120 IF D$="J" THEN S=2 130 S=1 140 REM ----- PRUEFUNG AUF ZULAESSIGKEIT ----- 150 IFS1<>Z2THEN PRINTCHR$(17)CHR$(17)CHR$(18)"S1 MUSS GLEICH Z2 SEIN !":GOTO50 160 REM ---- ARRAY-DEFINITIONEN ---- 170 DIMA(Z1,S1),B(Z2,S2),C(Z1,S2) 180 REM ---- EINGABE DER ELEMENTE: 1.MATRIX ---- 190 PRINTCHR$(147) 200 FOR I=1 TO Z1:REM ZEILENINDEX 210 :FOR J=1 TO S1:REM SPALTENINDEX 220 ::PRINTA$"("I","J") ="TAB(20);:INPUTA(I,J) 230 :NEXT J 240 NEXT I 250 REM ------------------------- 2.MATRIX ---- 260 PRINTCHR$(17)CHR$(17) 270 FOR I=1 TO Z2 280 :FOR J=1 TO S2 290 ::PRINTB$"("I","J") ="TAB(20);:INPUTB(I,J) 300 :NEXT J 310 NEXT I 320 REM ---- BERECHNUNG ERGEBNISMATRIX ---- 330 FOR I=1 TO Z1 340 :FOR J=1 TO S2:C(I,J)=0 350 ::FOR K=1 TO S1 360 :::C(I,J)=C(I,J)+A(I,K)*B(K,J) 370 ::NEXT K 380 :NEXT J 390 NEXT I 400 REM ---- MATRIXANZEIGE MENUE ---- 410 PRINTCHR$(147) 420 PRINTCHR$(17)CHR$(17)CHR$(17)CHR$(18)"MATRIX ZEIGEN:" 430 PRINTCHR$(17)CHR$(17)"MATRIX"TAB(12)A$TAB(25)"1" 440 PRINTCHR$(17)"MATRIX"TAB(12)B$TAB(25)"2" 450 PRINTCHR$(17)"ERGEBNIS-MATRIX"TAB(25)"3" 460 PRINTCHR$(17)"PROGRAMMENDE"TAB(25)"4" 470 PRINTCHR$(17)CHR$(17)CHR$(17)CHR$(18)"BITTE AUSWAEHLEN !" 480 GETC$:IF C$<"1" OR C$>"4" THEN 480 490 ON VAL(C$) GOSUB 570,670,770,550 500 PRINTCHR$(17)CHR$(18)"ZUM MENUE _ DRUECKEN" 510 GETC$:IF C$<>"_" THEN 510 520 GOTO 420 530 REM ***** UNTERPROGRAMME ***** 540 REM ---- PROGRAMMENDE ---- 550 END 560 REM ---- AUSGABE DER 1.MATRIX ---- 570 PRINTCHR$(17)CHR$(17)CHR$(18)A$ 580 PRINTCHR$(17)CHR$(17) 590 FOR I=1 TO Z1 600 :FOR J=1TO S1 610 ::PRINTTAB(INT((S*40-5)/S1)*(J-1))A(I,J); 620 :NEXT J 630 :PRINT:PRINT 640 NEXT I 650 RETURN 660 REM ---- AUSGABE DER 2.MATRIX ---- 670 PRINTCHR$(17)CHR$(17)CHR$(18)B$ 680 PRINTCHR$(17)CHR$(17) 690 FOR I=1 TO Z2 700 :FOR J=1 TO S2 710 ::PRINTTAB(INT((S*40-5)/S2)*(J-1))B(I,J); 720 :NEXT J 730 :PRINT:PRINT 740 NEXT I 750 RETURN 760 REM ---- AUSGABE DER ERGEBNISMATRIX ---- 770 PRINTCHR$(17)CHR$(17);:C$=A$+"*"+B$:PRINTCHR$(18)C$ 780 PRINTCHR$(17)CHR$(17) 790 FOR I=1 TO Z1 800 :FOR J=1 TO S2 810 ::PRINTTAB(INT((S*40-5)/S2)*(J-1))C(I,J); 820 :NEXT J 830 :PRINT:PRINT 840 NEXT I 850 RETURN