'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
'                                     CALCULA DETERMINANTES DE MATRICES
DIM mat(1 TO 10, 1 TO 10)

COLOR 14, 1
CLS
LOCATE 2, 4
INPUT "Dimensi¢n (Max=10) (Pred=3): ", d
IF d <= 0 OR d > 10 THEN d = 3

det = 1

FOR v = 1 TO d
   FOR h = 1 TO d
      COLOR 10
      LOCATE 25, 2: PRINT "Escribe el valor Mat ("; h; ","; v; ")  ";
      COLOR 15
      LOCATE (v * 2) + 2, (h * 6) + 12: INPUT "", mat(h, v)
   NEXT
NEXT

FOR n = 1 TO d - 1
   FOR v = n + 1 TO d
      IF mat(n, n) = 0 THEN
         fceros = 1
         FOR h = n + 1 TO d
            IF mat(h, n) <> 0 THEN
               fceros = 0
               hc = h
            END IF
         NEXT
         IF fceros = 0 THEN
            FOR w = 1 TO d
               aux = mat(n, w)
               mat(n, w) = mat(hc, w)
               mat(hc, w) = aux
               det = -det
            NEXT
         END IF
      END IF
      IF fceros = 0 THEN
         mult = mat(n, v) / mat(n, n)
         FOR h = 1 TO d
            mat(h, v) = mat(h, v) - (mat(h, n) * mult)
         NEXT
      END IF
   NEXT
NEXT

FOR n = 1 TO d
   det = det * mat(n, n)
NEXT
                  COLOR 11
FOR v = 1 TO d
   FOR h = 1 TO d
      LOCATE (v * 2) + 2, (h * 6) + 12: PRINT INT(mat(h, v)); "   ";
   NEXT
NEXT
COLOR 30
LOCATE 24, 50: PRINT "Determinante ="; det;
COLOR 9

