%Header Record Format:TXT Communication SW:0 Data Type:PG Capacity:1301 File Name:MATRIX Group Name: Password: Option1:NL Option2: Option3: Option4: %Data Record \ClrText \Locate 1,1,"------MATRIX 1------" \Locate 1,3,"1\->BERECHNEN" \Locate 1,4,"2\->LOESUNG ANZEIGEN" \Do \Getkey\->A \LpWhile A\<>72\ And A\<>62 A=72\=>1\->U A=62\=>0\->U \ClrText \If U=1 \Then \Dim \Mat B\->\List 1 \List 1[1]\->M \List 1[2]\->N M\<>N\=>\Locate 19,1,"M\<>N" 'M>N\=>N\->M 'MM\->N \Mat->List\Mat B,1)\->\List 2 \Trn \Mat B\->\Mat C \Mat->List\Mat C,1)\->\List 3 \For 1\->I \To M I\->\List 2[I] \Next \For 1\->J \To N \(-)J\->\List 3[J] \Next \Mat B\->\Mat C \Locate 1,1,M \Locate 9,1,N \Locate 1,2,"MATRIX" 0\->E 0\->G \IfEnd 0\->\r \Do \If U=1 \Then 0\->C \For 0\->H \To 2 \Step 2 H\->A A=0\=>1\->A \For 0\->B \To MN-1 \Int (B/N)+1\->I B-(I-1)*N+1\->J \If \Abs (\Mat C[I,J])=A\ And \List 3[J]<0\ And \List 2[I]>0 \Then \Locate 1,3,"PIVOT OK" 1\->C \Break \IfEnd \Next C=1\=>\Break \Next \If C=0 \Then \Locate 1,3,"PIVOT ALT." \For 1\->I \To M \For 1\->J \To N \List 2[I]>0\ And \List 3[J]<0\ And \Mat C[I,J]\<>0\=>1\->C C=1\=>\Break \Next C=1\=>\Break \Next \If C=0 \Then \Locate 1,7,"ERROR 1" \Stop \IfEnd \IfEnd \r+1\->\r \Locate 12,3,I \Locate 17,3,J \List 2[I]\->\theta \List 3[J]\->\List 2[I] \theta\->\List 3[J] \Mat C[I,J]\->P 1\ab/cP\->\Mat C[I,J] \For 1\->L \To N L\<>J\=>\Mat C[I,L]\ab/c\(-)P\->\Mat C[I,L] \Next \For 1\->K \To M \For 1\->L \To N \If K\<>I\ And L\<>J \Then \Mat C[K,L]+\Mat C[I,L]*\Mat C[K,J]\->\Mat C[K,L] \IfEnd \Next \Next \For 1\->K \To M K\<>I\=>\Mat C[K,J]\ab/cP\->\Mat C[K,J] \Next \IfEnd ' ENDE? 0\->A:0\->F 0\->E \For 1\->K \To M \List 2[K]>0\=>F+1\->F \Next \For 1\->L \To N \List 3[L]<0\=>A+1\->A \Next A=0\ And F=0\=>1\->E A\<>F\ And (A=0\ Or F=0)\=>2\->E \If E=0 \Then 2\->E \For 1\->K \To M \If \List 2[K]>0 \Then \For 1\->L \To N \List 3[L]<0\ And \Mat C[K,L]\<>0\=>0\->E E=0\=>\Break \Next \IfEnd \Next \IfEnd E=0\=>\ClrText \LpWhile E=0 \If E=2 \Then \Locate 1,5,"SINGULAER" \Locate 1,6,"RANG=" \Locate 6,6,\r \IfEnd \If E=1 \Then \Locate 1,5,"REGULAER" \Locate 1,6,"RANG=" \Locate 6,6,\r \Mat C\->\Mat D \For 1\->K \To M \For 1\->L \To N \Mat C[K,L]\->\Mat D[\Abs (\List 2[K]),L] \Next \Next \Mat D\->\Mat C \For 1\->L \To N \For 1\->K \To M \Mat C[K,L]\->\Mat D[K,\Abs (\List 3[L])] \Next \Next \Locate 9,7,"" \Do \LpWhile \Getkey\<>31 \Mat D \IfEnd %End