我将以标准的“我是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;
但是,即使进行了上述修复,仍然存在一些问题:
这只是打印出average_array[3][0][2]
很多次的价值。如果要打印出数组中的每个值,请将更改[3][0][2]
为[i][j][k]
。
您的for (j=0; j<1; j++)
唯一循环是j的一个值,即0。没有理由进行此循环。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句