C++数组(初级)

C++ array (Beginner)

本文关键字:初级 数组 C++      更新时间:2023-10-16

我把数组错当成了向量,对不起(数组在瑞典语中是vektor)

我正在制作一个程序,需要一些帮助。这是一项任务,所以我真的需要了解我是如何做到这一点的,而不仅仅是得到代码:P

我需要制作一个包含10个"数字"的数组(我想在程序运行时使它们可编辑)。完成后,我需要让程序计算所有数字的"平均值"/

如果你能选择你想要的平均值,如果有人能分享一些我应该如何做到的知识,那将是非常巧妙的:p无论如何,我已经尝试了一些代码来制作不起作用的矢量,我还可以在这里添加它:

int vector[10];

以及vector[0]"数字1:";等等用于矢量中的数字的输入。

int sum = vector[0] + vector[1] + ...
cout << "average value is: " << sum/5;

应该通过获得平均值

我应该补充一点:

float average(int v[], int n)

对于这件事,我真的不知道怎么回事。

任何帮助/知识都会很棒!干杯

要选择要平均的数字数量:

Native:仅限(G++/Crang),而非"合法"C++

cin >> num;
int vector[num];

"正确"本机(指针):

int *vector = new int [num];

"适当"C++:

#include <vector>
std::vector<int> v(num);

下面的函数适用于计算包含n个元素的数组的平均值。

float average(int v[], int n)
{
float sum = 0;
for(int i = 0 ; i < n ; i++)
{
sum += v[i]; //sum all the numbers in the vector v
}
return sum / n;
}

你可以像你所做的那样声明你的数组,但我建议你用其他东西来命名它,然后用向量来避免混淆。关于tour问题,通过更改数组中的数字,您可以通过例如处理从1到10的循环,然后让用户输入所有字段的值来完成此操作。

vector påsvenska=数组påengelska(vectorär något annat:)

如果您想要精确的10个数字,只需使用一个数组就可以消除大量开销。然而,假设你想使用一个向量,你可以很容易地找到利用其"大小"成员的平均值,例如:

float average(std::vector<int> nums)
{
int sum = 0;
for (unsigned int i = 0; i < nums.size(); i++)
sum += nums[i];
return sum / nums.size();
}

请注意,这确实假设总和不会高于2^31-1,即有符号整数所能代表的最高数字。为了更安全,您可以使用无符号和/或64位int来表示sum,或者使用gmp之类的任意精度库,但我认为这都不在您的赋值范围内。

您必须声明一个大小为10的数组,您已经这样做了。

使用一个循环从用户那里获得十个输入。(forwhile循环即可)

使用另一个循环计算所有十个数字的和,并将其存储在变量中。

把这个变量除以十。

这是你基本上需要做的。但是,为了让你的驱动程序更漂亮,你可以定义以下功能:

void GetInput(int *A); //put the input loop here

您还可以编写给定的两个函数中的任意一个:

long Sum(int * A)   //put the summing loop here
double Average(int * A)  //put the summing loop here AND divide the sum by ten

由于您是一个初学者,我不得不告诉您,您不需要返回数组,因为它总是作为引用参数传递的。我没有费心将数组大小作为参数传递给任何函数,因为它是固定的,已知为10,但这样做是很好的做法。