Здравствуйте, не получается посчитать определитель, может сам алгоритм неверен, да и еще входные данные не как числа вводятся, а как строки. помогите доделать программу пожалуйста
Код:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile=123.exe
#AutoIt3Wrapper_Outfile_x64=1231.exe
#AutoIt3Wrapper_Compression=1
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstantsEx.au3>
HotKeySet("{ESC}","_Exit")
$Numb= InputBox("Подсчет определителя","Порядок определителя равен","3")
GUICreate("Подсчет определителя",50+$Numb*20,60+$Numb*20,@DesktopWidth/4,@DesktopHeight/4,-1)
$Button1 = GUICtrlCreateButton("Exit",10+$Numb*20,-20+$Numb*20,40,40)
$Button2 = GUICtrlCreateButton("GO",10+$Numb*20,-60+$Numb*20,40,40)
GUISetState()
Global $sArray[$Numb+1][$Numb+1]
For $i=1 To $Numb
For $j=1 To $Numb
$sArray[$i][$j]=GUICtrlCreateInput("",-20+$i*20,-20+$j*20,20,20)
Next
Next
$k=1
$det=1
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $Button1
ExitLoop
Case $Button2
For $i=$k to $Numb
For $j=$k to $Numb
$sArray[$i][$j]=StringToBinary($sArray[$i][$j])
Next
Next
For $p=1 to $Numb
For $i=$k to $Numb
$det=$det*$sArray[$i][$k]
For $j=$k to $Numb
$sArray[$i][$j]= $sArray[$i][$j]/$sArray[$i][$k]
If $i>$k Then $sArray[$i][$j]=$sArray[$i][$j]-$sArray[$k][$j]
Next
Next
$k=$k+1
Next
$det=BinaryToString($det)
MsgBox(0,"",$det)
EndSwitch
WEnd
Func _Exit()
Exit
EndFunc