我需要帮助创建一个可以搜索数组的函数

时间:2015-11-29 00:42:31

标签: c++ arrays

以下是问题:

  • 创建一个函数,通过查找数组中的产品,返回1到9之间两个数字的乘积。
  • 示例:如果用户输入9和2,程序将在二维数组中查找答案并显示18。

我有桌子我不知道怎么做一个可以搜索的功能。

#include <string> 
#include <iostream>
#include <iomanip>  
using namespace std;

int main()
{
    const int numRows = 10;
    const int numCols = 10;

    int product[numRows][numCols] = { 0 };

    for (int row = 0; row < numRows; ++row)
        for (int col = 0; col < numCols; ++col)
            product[row][col] = row * col;

    for (int row = 1; row < numRows; ++row)
    {
        for (int col = 1; col < numCols; ++col)
            cout << product[row][col] << "\t";
        cout << '\n';
    }

    return 0;
}

2 个答案:

答案 0 :(得分:0)

生成数组背后的想法是所有乘法可能性都存储在表中以便于查找。没有必要搜索你需要做的就是在索引处查找值,如下所示:

int result = product[9][2];

指标的顺序并不重要,因为2 * 9与9 * 2相同。

答案 1 :(得分:0)

我建议您阅读https://www.google.com/business/或您找到的任何其他优质来源的功能。

使用任何名称创建一个函数,并传递两个值和2D数组,并使用这种简单的方法提取值

#include <string> 
#include <iostream>
#include <iomanip>  
using namespace std;

int productvalue(int a,int b, int product[][10])
{
    return product[a][b];
}
int main()
{
    const int numRows = 10;
    const int numCols = 10;

    int product[numRows][numCols] = { 0 };

    for (int row = 0; row < numRows; ++row)
        for (int col = 0; col < numCols; ++col)
            product[row][col] = row * col;

    for (int row = 1; row < numRows; ++row)
    {
        for (int col = 1; col < numCols; ++col)
            cout << product[row][col] << "\t";
        cout << '\n';
    }
    int a,b;
    cin>>a>>b;
    //Example Call to the function
    int x = productvalue(a,b,product);
    cout<<x<<endl;
    return 0;
}

完整代码:

PreparedStatement