помогите перевести на VB
const m=4;
type mas=array[1..m,1..m] of real;
var a:mas;
i,j:integer;
Function F(c:mas;n:integer):real;
var k,p,q,t:integer;
sum:real;
b:mas;
begin
sum:=0;
for k:=1 to n do begin
for p:=2 to n do begin
q:=1;t:=1;
while q<n do begin
if q=k then t:=t+1;
b[p-1,q]:=c[p,t];
q:=q+1;t:=t+1
end
end;
if k mod 2 =0 then sum:=sum-c[1,k]*F(b,n-1)
else sum:=sum+c[1,k]*F(b,n-1)
end;
F:=sum
end;
помогите перевести на VB, у меня получилось следующее (только оно
не работает, возвращает всё время 0)
Private Function det(c() As Single, n As Integer)
Dim k As Integer, p As Integer, q As Integer, t As Integer
Dim b(1 To 4, 1 To 4) As Single
retval = 0
For k = 1 To n
For p = 2 To n
q = 1: t = 1
Do While q < n
If q = k Then t = t + 1
b(p - 1, q) = c(p, t)
q = q + 1
t = t + 1
Loop
Next p
If k Mod 2 = 0 Then
retval = retval - c(1, k) * det(b, n - 1)
Else: retval = retval + c(1, k) * det(b, n - 1)
End If
Next k
det = retval
End Function
подскажите где я туплю ?
Цитата:
type mas=array[1..m,1..m] of real;
Логично тогда и в vb сделать то же: а у вас , Виталик Четвертый,
Цитата:
Private Function det(c() As Single, n As Integer)
здесь c - простой динамический массив, а где вы его потом redim'ите я не вижу в упор
?
http://forum.sources.ru/index.php?showtopic=161103 сдесь уже есть ответ на твой вопрос...:)
Смотри суда