如何编写一个函数来添加2D数组中每行的内容?要添加每列的内容? 我的代码(到目前为止):
#include <iostream>
using namespace std;
const int QUARTER = 4;
void getdata(float [][QUARTER], int);
void displaydata (float [][QUARTER], int);
void quartertotal(float [][QUARTER], int);
int main()
{
const int DIVISION = 6;
float data[DIVISION][QUARTER] = {0};
float getarray[DIVISION][QUARTER];
for (int a=0; a < DIVISION; a++)
{
for (int b = 0; b< QUARTER; b++)
{
cout << "Enter sales for Division ";
cout<< a+1;
cout<< " Quarter ";
cout<< b+1;
cout<< ": ";
cin >> getarray[a][b];
}
}
displaydata(getarray, DIVISION);
cout << endl;
quartertotal(getarray,DIVISION);
cout << endl;
cout << endl << endl;
return 0;
}
(float getarray[][QUARTER], int divisions)
{
cout<<"\t\t\t\tQ1\tQ2\tQ3\tQ4\n";
for (int i = 0; i < divisions; i++)
{
cout << "Sales for Division " << (i+1) << " are: \t";
for (int j=0; j < QUARTER; j++)
cout << getarray[i][j] << "\t";
cout << endl;
}
}
答案 0 :(得分:1)
我希望你对1维数组的概念感到满意。 现在首先概述多维(2D,3D等)维数组 - 二维阵列可以被认为是多个1维阵列的组(或技术阵列)。类似地,该想法可以进一步扩展,即3维阵列是多个2维阵列的阵列,依此类推。
回到你的问题,因为雅各布已经发布了足够好的代码。
答案 1 :(得分:0)
你已经有办法进入阵列中的每个单元格来获得部门/季度的销售额,而你这样做可以总结数据。
a\b 1 2 3 4
1
2
3
4
5
6
如果你想加一行(除法),将所有b加起来为同一个a 如果你想加上一个col(Quarter)加起来同一个b的所有a。
获得第1分部
a = 1
for each b
row += getarray[a][b];
答案 2 :(得分:0)
int row_total[DIVISION] = {0};
for (int a=0; a < DIVISION; a++)
{
for (int b = 0; b< QUARTER; b++)
{
row_total[a] += getarray[a][b];
}
}
我不知道你要用这段代码实现什么。什么是data
应该做的?此外,由于这是家庭作业,您可能仅限于使用数组而不是std::vector
。我想,动态分配也是不可能的 - 或者情况并非如此?
答案 3 :(得分:0)
根据您对不理解数组的评论:
这是一种描绘数组的方法: 想象一排邮箱。每个邮箱都包含一段带有数字的邮件。要将每个号码相加,您需要打开每个邮箱,读取纸张上的数字,然后将其添加到正在运行的计数器中,让我们说明随身携带的剪贴板。访问完每个邮箱并在剪贴板上统计其总数后,剪贴板将包含邮箱的最终总和。邮箱行代表一维数组。剪贴板表示用于计算值的变量。
对于二维数组,让我们假设您有许多要访问的街道,每条街道都有相同数量的邮箱。为了统计每条街道,让我们在剪贴板上的每条街道上使用不同的纸张进行计数。 cliboard刚刚成为一系列带有标签的论文,而不仅仅是1,用于统计每条街道的邮箱总数。
关于编程的有趣之处在于,每天的例子完全符合编程思想。剪贴板上的那堆文件也可以被认为是论文的“堆栈”,你只能轻松地获得论文。如果您在堆中添加了一张纸,则将其放在底部而不是顶部,它就变成了“队列”。等等。