二维数组问题

时间:2017-07-18 18:07:21

标签: c++ multidimensional-array

还是新手。这段代码有什么问题?我正在尝试制作和使用二维数组。我的总体想法是否正确?使用嵌套for循环来逐步执行它?我的代码究竟出了什么问题?它不会编译。

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
const double NUM_MONKEYS = 3;
const double NUM_DAYS = 5;
double monkeys[NUM_MONKEYS][NUM_DAYS];
int row, column;

for (row = 0, row < NUM_MONKEYS, row++)
{
    for (column = 0, column < NUM_DAYS, column++)
    {

    cout << "Input amount of food eaten by monkey: " << row + 1;
    cout << " and day: " << column + 1 << endl;
    cin >> monkeys[row][column];
    }

}
return 0;

}

有些东西我没有得到,谢谢!

1 个答案:

答案 0 :(得分:1)

首先 - 数组的大小应该是整数类型,并且您已将其定义为double。 第二 - for循环的语法不正确,应该有';'在你的for循环中代替','。

#include <iostream>
#include <iomanip>



int main()
{
    const int NUM_MONKEYS = 3;
    const int NUM_DAYS = 5;
    double monkeys[NUM_MONKEYS][NUM_DAYS];
    int row, column;

    for (row = 0; row < NUM_MONKEYS; row++)
    {
        for (column = 0; column < NUM_DAYS; column++)
        {

            std::cout << "Input amount of food eaten by monkey: " << row + 1;
            std::cout << " and day: " << column + 1 << endl;
            std::cin >> monkeys[row][column];
         }

    }
    return 0;

}

虽然您可以在数组中存储双精度值。 也就是说,试着避免'使用命名空间std;' see here