VB6需要一些帮助,循环

问题描述:

我试图源从C++转换成维生素B6:VB6需要一些帮助,循环

C++:

static double mdArray[3][3]; 
static double mdArray2[3][3]; 

for (i = 0; i < 3; i++) 
for (j = 0; j < 3; j++) 
{ 
    double sum = 0; 

    for(k = 0; k < 3; k++) 
    sum = sum + mdArray[k][i] * mdArray[k][k]; 

    mdArray2[i][j] = sum 
} 

VB6:

dim mdArray(0 to 2, 0 to 2) as integer 
dim mdArray2(0 to 2, 0 to 2) as integer 

for i = 0 to 2 
for j = 0 to 2 

dim a as double 
sum = 0 

    for k = 0 to 2 
    sum = sum + mdArray(k,i) * mdArray(k,j) 

    mdArray2(i,j) = sum 
    Next 

Next 
Next 

将VB6的版本产生相同的结果为C++版本?谢谢。

vb6版本会产生与C++版本相同的结果吗?

你试过了吗?

您的数组在C++中声明为double,但在VB6中声明为Integer。除此之外,代码看起来相当一致,除了最内层的循环(使用正确的缩进很容易阻止这个错误!):

for k = 0 to 2 
    sum = sum + mdArray(k,i) * mdArray(k,j) 
Next 
mdArray2(i,j) = sum 

dArray2(i,j) = sum线属于循环。

你还打扰到试试吗?这里的错误,我可以发现:

  1. 你用错误的数据类型
  2. 你因为某些原因
  3. 宣布a而不是sum声明你的阵列您有mdArray(k, j)代替mdArray(k, k)
  4. 你的内心Next声明应该在mdArray2(i,j) = sum之前,而不是之后。
+0

+1这很容易尝试。 Visual C++快速版是免费的。大概你有VB6(否则练习中没有太多要点) – MarkJ 2010-05-19 11:21:57