使用3D阵列

d3adlycasanova

我将以标准的“我是C ++的新手”语句作为开头。这是我第一次使用数组,遇到了一些困难。

我大致了解数组。我也了解初始化数组。我正在努力的是从3D阵列中打印特定的行/列。基本上,我们在三个月内有各种各样的高温和低温。目标是根据每个用户请求打印阵列的各个子集。是我程序的外壳。对于初学者,我只输入了3天的数据。

提供了用于计算平均值,最大值和最小值的函数。也许我不太了解这些功能的运行方式。

我开始是这样的:

case 'A':
    cout << "Which month? ('J' for June, 'U' for July, 'A' for Aug)" << endl;
cin >> y;
    switch (y)
    {
    case 'J':
        cout << "The average for June was " << for (i=0; i<DAY; i++)
        {
            for (j=0; j<1; j++)
            {
                for (k=0; k<XTR; k++)
                {
                    average_array[3][0][2];
                }
            }
        } << endl; break;

我想在其中调用函数average_array来仅对六月的月份进行所有(3)天的迭代,并打印结果。

我还尝试过替换以下内容:

average_array[DAY][MONTH][XTR];

或者

for (i=0; i<30; i++)
{
    for (j=0; j<1; j++)
    {
        for (k=0; k<2; k++)

任何建议,不胜感激!显然,我将采用完全错误的方式,只是不了解如何引用数组中的特定值集。我们的教科书最能解释这一点的是遍历1D和2D数组并打印结果。这是一个小任务,但是了解这一点是完成下一个(也是最后一个)大型项目的关键。

油菜

for循环不能用作cout的输入。您应该像这样分别引用每个数组值:

cout << "The average for June was ";
for (i=0; i<DAY; i++) {
   for (j=0; j<1; j++){
       for (k=0; k<XTR; k++){
           cout << average_array[3][0][2];
           //to make it a little nicer, use this
           //cout << ", "
       }
   }
} 
cout << endl;

但是,即使进行了上述修复,仍然存在一些问题:

  1. 这只是打印出average_array[3][0][2]很多次的价值如果要打印出数组中的每个值,请将更改[3][0][2][i][j][k]

  2. 您的for (j=0; j<1; j++)唯一循环是j的一个值,即0。没有理由进行此循环。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章