10 REM **********
ΠΡΟΓΡΑΜΜΑ Π305 **********
20 REM * *
30 REM *
Αντιστροφή πίνακα *
40 REM *
μέθοδος απαλοιφής του Gauss *
50 REM * με
πλήρη οδήγηση *
60 REM * *
70 REM
***************************************
80 CLS
90 DIM
A(25,25),IPIVOT(25),INDEX(25,2),PIVOT(25)
100 EPS=.0000005
110 INPUT "Δώσε τη διάσταση του πίνακα";N
120 FOR
I=1 TO N
130 FOR
J=1 TO N
140 READ
A(I,J)
150 NEXT
J
160 NEXT
I
170
DETERM=1
180 REM Οδήγηση
190 FOR
J=1 TO N
200
IPIVOT(J)=0
210 NEXT
J
220 FOR
I=1 TO N
230
AMAX=0
240 FOR
J=1 TO N
250 IF
IPIVOT(J)=1 THEN GOTO 340
260 FOR
K=1 TO N
270 IF
IPIVOT(K)=1 THEN GOTO 330
280 IF
IPIVOT(K)>1 THEN GOTO 720
290 IF
ABS(AMAX)>=ABS(A(J,K)) THEN GOTO 330
300
IROW=J
310
ICOLUM=K
320
AMAX=A(J,K)
330 NEXT
K
340 NEXT
J
350
IPIVOT(ICOLUM)=IPIVOT(ICOLUM)+1
360 IF
IROW=ICOLUM THEN GOTO 430
370
DETERM=-DETERM
380 FOR
L=1 TO N
390
SWER=A(IROW,L)
400 A(IROW,L)=A(ICOLUM,L)
410
A(ICOLUM,L)=SWER
420 NEXT
L
430
INDEX(I,1)=IROW
440
INDEX(I,2)=ICOLUM
450
PIVOT(I)=A(ICOLUM,ICOLUM)
460
DETERM=DETERM*PIVOT(I)
470
A(ICOLUM,ICOLUM)=1
480 FOR
L=1 TO N
490
A(ICOLUM,L)=A(ICOLUM,L)/PIVOT(I)
500 NEXT
L
510 FOR
L1=1 TO N
520 IF
L1=ICOLUM THEN GOTO 580
530
T=A(L1,ICOLUM)
540
A(L1,ICOLUM)=0
550 FOR
L=1 TO N
560
A(L1,L)=A(L1,L)-A(ICOLUM,L)*T
570 NEXT
L
580 NEXT
L1
590 NEXT
I
600 FOR
I=1 TO N
610
L=N+1-I
620 IF
INDEX(L,1)=INDEX(L,2) THEN GOTO 700
630 JROW=INDEX(L,1)
640
JCOLUM=INDEX(L,2)
650 FOR
K=1 TO N
660
SWER=A(K,JROW)
670
A(K,JROW)=A(K,JCOLUM)
680
A(K,JCOLUM)=SWER
690 NEXT
K
700 NEXT
I
710
PRINT:PRINT "Ο αντίστροφος
του Α":PRINT
720 FOR
I=1 TO N
730 FOR
J=1 TO N
740
PRINT A(I,J),
750 NEXT
J
760
PRINT
770 NEXT
I
780 END
790 DATA
1,3,2
800 DATA 3,8,5
810 DATA 2,5,4