我在C ++中的代码遇到一些问题。我想知道如何发现数组中元素的数量。请遵循代码:
#include <iostream>
#include <cstdlib>
using namespace std;
int avg(int numbers[]){
int amount; // The problem is in. How can I discover the amount of elements in an array?
int sum = 0;
for(int i = 0; i < amount; i++){
sum += numbers[i];
}
return sum / amount;
}
int main(){
int q;
cout << "Type number of integers:" << endl;
cin >> q;
int numbers[q];
for(int i = 0; i < q; i++){
cout << "Type an integer value for number " << i+1 << ":" << endl;
cin >> numbers[i];
}
cout << "The average is " << avg(numbers) << endl;
return 0;
}
答案 0 :(得分:1)
C ++中的标准数组不包含访问数组大小的方法,跟踪此大小的最佳方法是使用随数组大小更新的整数或尝试使用std :: array然后使用.size()方法。
在您的示例中,无论如何您都在使用固定大小的数组,因此您可能希望将q值存储为成员变量,并且包含数组大小。请注意,在您的示例中,由于q不是常数整数,因此代码无法正常工作。要声明不带常量整数的数组,您将需要使用指向数组第一个元素的指针,即:int * numbers = new int [q];。