是否基于数组B整数从数组A打印整数? < >新到C++。我正在寻求有关解决这个问题的方法的建议

是否基于数组B整数从数组A打印整数? < >新到C++。我正在寻求有关解决这个问题的方法的建议,c++,c++11,C++,C++11,给定以下数组: 阵列A 1 21 43 54 99 阵列B 1 4 5 我想要实现的目标: 数组B integer用于查找数组A中值的位置。使用上述两个数组的最终结果将是 最终结果 1 54 99 其中,数组b1将从数组A中提取1,数组b4将从数组A中提取54,依此类推。我应该如何解决这个问题?这样您就可以通过执行以下操作来迭代arrB并获得所需的值: #include <iostream> int main(){ int arrA[] = {1, 21, 43, 5

给定以下数组:

阵列A

1 21 43 54 99
阵列B

1 4 5
我想要实现的目标:

数组B integer用于查找数组A中值的位置。使用上述两个数组的最终结果将是

最终结果

1 54 99

其中,数组b1将从数组A中提取1,数组b4将从数组A中提取54,依此类推。我应该如何解决这个问题?

这样您就可以通过执行以下操作来迭代
arrB
并获得所需的值:

#include <iostream>

int main(){
    int arrA[] = {1, 21, 43, 54, 99};
    int arrB[] = {1, 4, 5};

    // iterating over arrB
    for (int i = 0; i < 3; ++i)
        std::cout << arrA[arrB[i] - 1] << ' ';
    
    return 0;   
}
注:
不要忘记添加所需的条件(确保在边界内访问数组)以避免未定义的行为。

Cool。对不起,这个愚蠢的问题,你能解释一下arrA[arrB[i]-1]吗?这是一个二维数组,为什么需要“-1”?数组遵循零索引,在你的问题中,你指的是使用1的第一个元素(即,我们需要减去1来实现零索引)。首先,在初始化数组时不需要定义数组长度。其次,避免使用
名称空间std,第三,漂亮的代码+1@user3118602不,它不是二维数组。它使用一个数组作为另一个数组的索引,这正是你的问题所需要的。@罗汉巴里谢谢,我正要编辑你刚才做的代码。你的例子假定C++数组是从一个索引,但是这不是真的。C++数组从索引数组0开始索引,而不是从1开始索引。问题的措辞并不强调C++的这一非常基本的方面。请阅读一些C++编译器(也许……)和调试程序(也许)的文档。从现有的C++软件中获取灵感
1 54 99