1

假设我们有两个二维数组。我想读取第一个数组的每个成员并返回两个相邻的数字,第一个是列号,第二个是程序从第一个数组中读取的确切数字。例如,如果第一个数组是:
A= {1 2 3}
{4 5 6}
{7 8 9}

我希望返回 B={11 22 33} {14 25 36} {17 28 39}。问题是当我想将列索引号和确切数字放在一起时,我有错误。另一件事是我需要这个输出作为另一个代码的输入,这意味着输出应该是数字而不是字符串。提前致谢。

for (int i=0;i<3;i++){
   for (int j=0;j<3;j++){   
      B[i][j]= jA[i][j];
   }
}
4

2 回答 2

0

您将要添加乘以 10 的索引。所以类似于(在伪代码中):

int arr1 = {1 2 3} {4 5 6} {7 8 9};
int arr2;

for (int i=0;i<arr1.length;i++){
  for (int j=0; j<arr1[i].length;j++){
     arr2[i][j] = ((j+1)*10) + arr1[i][j];
  }
}

return arr2

这仅在数组被限制为数字 0 到 9 时才有效。

于 2013-03-20T03:07:23.377 回答
0
for (int i=0; i<3;i++){
   for (int j=0; j<3; j++){   
      B[i][j] = 10*(j+1) + A[i][j];
   }
}

注意:如果 A 中有两位数值,则执行 100* 而不是 10*,或者如果是三位数值,则执行 1000* 等。

于 2013-03-20T03:09:33.947 回答