2D Array in C++ -

2D Array in C++ -

本文关键字:C++ in Array 2D      更新时间:2023-10-16

我正在尝试完成涉及c ++的家庭作业。我正在使用 Dev C++ 来构建这个。我已经尽力做到了这一点。

这些是需要满足的要求:

  1. 构建一个 2D 阵列,记录作业标记和考试标记
  2. 输入作业分数和考试分数
  3. 计算平均作业分数和考试分数
  4. 计算总作业分数和考试分数
  5. 输出所有计算的标记

它返回此错误:

[错误] 类型为 'int [2][10]' 和 'int' 的无效操作数到 二进制运算符 &[错误] 类型 'int [

3][10]' 和 'int' 的无效操作数到二进制运算符。

这是我想出的代码:

main()
{
int assignment_marks [2] [10];
int examination_marks [3] [10];
float average_marks;
int total_marks;
int num;
int i;
printf ("input assignment marks:");
for (i=0; i<=10; i++)
scanf ("%d" , &assignment_marks [i] );
printf ("input examination marks:");
for (i=0; i<=20; i++)
scanf ("%d" , &examination_marks [i] );
printf ("calculate average assignment marks :");
scanf ("%d" , &average_marks);
average_marks = assignment_marks / 10;
printf ("calculate average examination marks :");
scanf ("%d" , &average_marks);
average_marks = examination_marks / 10;
for (i = 0; i <= 10; i++)
{
printf ("calculate total assignment marks :");
scanf ("%d" , &total_marks);
total_marks = assignment_marks / 100*100 ;
printf ("calculate total examination marks :");
scanf ("%d" , &total_marks);
total_marks = examination_marks / 100*100 ;

}

}

好吧,您要做的是,您正在尝试将整个数组除以 10。下面是示例: 我们有一个数组

1
2
3
4

作为值,所有这些都存储在我们的变量array中。

如果我们想累积整个数组中的值,我们执行以下操作:

  • 我们创建一个临时变量
  • 我们用它来保存数组元素的当前值
  • 我们进入下一个元素

好的,现在让我们看看这将如何在代码中工作:

int sum(0);
for(int i = 0; i < 4; i++)
sum = sum + array[i];

这里发生了什么,所有这些变量是什么?我们创建一个 for 循环来逐个迭代数组的元素。我们获取每个元素的值,并将其汇总到变量sum中。

  • i充当迭代器来获取每个元素
  • sum作为累加器来总结所有元素
  • array是我们的阵列
  • i < 4因为我们总共有 4 个元素,0 to 3作为索引。

如果要除法,可以应用相同的方法,但除法在摘要之后。让我给你一个真正的快速例子和你的练习:

我们有一个带有考试成绩的数组。例如double scores[] = { 5.5, 3.4, 4.5, 5.7 };,我们希望获得学生的平均分数。请注意,我们有4 项考试

double scores[] = {
5.5,
3.4,
4.5,
5.7
};
double sum = 0;
for(int i = 0; i < 4; i++)
sum += scores[i];
double average = (sum / 4);

如您所见,同样的逻辑,我们迭代数组的每个元素,累积到某个变量中,然后这里的加法是,我们除以我们拥有的考试次数,以找到我们得到的平均分数。