C++ 无法转换'int*';至“浮动*'”;对于参数'1';至`浮动平均值(浮动*,浮动)'; #包括 #包括 #包括 使用名称空间std; 浮点数平均值(浮点数[],浮点数n) { int i; 浮点数和=0; 对于(i=0;i n; 最小元素=n-1; int i,j,num[n]; 浮子温度; 浮动f; 对于(i=0;i>f; 回推次数(f); } cout
第一件事:C++ 无法转换'int*';至“浮动*'”;对于参数'1';至`浮动平均值(浮动*,浮动)'; #包括 #包括 #包括 使用名称空间std; 浮点数平均值(浮点数[],浮点数n) { int i; 浮点数和=0; 对于(i=0;i n; 最小元素=n-1; int i,j,num[n]; 浮子温度; 浮动f; 对于(i=0;i>f; 回推次数(f); } cout,c++,C++,第一件事: #include <iostream> #include <vector> #include <numeric> using namespace std; float mean (float num[], float n) { int i; float sum=0; for(i=0;i<n;i++) sum=sum+num[i]; return (sum/n); } int main() {
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
float mean (float num[], float n)
{
int i;
float sum=0;
for(i=0;i<n;i++)
sum=sum+num[i];
return (sum/n);
}
int main()
{
int minusElements;
int n;
cout << "Enter number of Elements:";
cin >> n;
minusElements = n - 1 ;
int i,j, num[n];
float temp;
float f;
for(i=0;i<n;i++)
{
cin >> f;
num.push_back(f);
}
cout << "Enter " << n << " numbers:\n";
for(i=0;i<n;i++)
cin >> num[i];
cin.get();
float m = mean(&num[0], num.size());
}
//33 request for member `push_back' in `num', which is of non-class type `int[((unsigned int)((int)n))]'
//41 request for member `size' in `num', which is of non-class type `int[((unsigned int)((int)n))]'
<标准> C++中不允许这样做。它的可变长度数组(VLA)从<代码> NoMasks<代码>不是<代码> const < /C>表达式。VLA仅允许在C99。< /P>
除此之外,您的
mean()
函数实现错误。什么是numElements
?它是一个未初始化的变量,您正在for
循环中使用它。这会调用未定义的行为。解决方案是:您不需要从numElements
开始。只需使用传递给函数作为参数的n
也可以,在C++中,你甚至不需要函数来计算平均值,你可以使用<代码> <代码>的函数为:
cout << "Mean:"<< mean(num,n);
#include <vector> //must include this!
std::vector<float> num;
float f;
for(i=0;i<numElements;i++)
{
cin >> f;
num.push_back(f);
}
//then call mean() as
float m = mean(&num[0], num.size());
输出:
6
12 89 23 12 32 11
6
12 89 23 12 32 11
在线演示:
不推荐C++中的C风格编码,但只适合学习目的。
C++中的C++风格编码 输出:
6
12 89 23 12 32 11
6
12 89 23 12 32 11
在线演示:
希望这两种方式都能帮助您理解问题和解决方案。首先:
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
float mean (float num[], float n)
{
int i;
float sum=0;
for(i=0;i<n;i++)
sum=sum+num[i];
return (sum/n);
}
int main()
{
int minusElements;
int n;
cout << "Enter number of Elements:";
cin >> n;
minusElements = n - 1 ;
int i,j, num[n];
float temp;
float f;
for(i=0;i<n;i++)
{
cin >> f;
num.push_back(f);
}
cout << "Enter " << n << " numbers:\n";
for(i=0;i<n;i++)
cin >> num[i];
cin.get();
float m = mean(&num[0], num.size());
}
//33 request for member `push_back' in `num', which is of non-class type `int[((unsigned int)((int)n))]'
//41 request for member `size' in `num', which is of non-class type `int[((unsigned int)((int)n))]'
<标准> C++中不允许这样做。它的可变长度数组(VLA)从<代码> NoMasks<代码>不是<代码> const < /C>表达式。VLA仅允许在C99。< /P>
除此之外,您的
mean()
函数实现错误。什么是numElements
?它是一个未初始化的变量,您正在for
循环中使用它。这会调用未定义的行为。解决方案是:您不需要从numElements
开始。只需使用传递给函数作为参数的n
也可以,在C++中,你甚至不需要函数来计算平均值,你可以使用<代码> <代码>的函数为:
cout << "Mean:"<< mean(num,n);
#include <vector> //must include this!
std::vector<float> num;
float f;
for(i=0;i<numElements;i++)
{
cin >> f;
num.push_back(f);
}
//then call mean() as
float m = mean(&num[0], num.size());
输出:
6
12 89 23 12 32 11
6
12 89 23 12 32 11
在线演示:
不推荐C++中的C风格编码,但只适合学习目的。
C++中的C++风格编码 输出:
6
12 89 23 12 32 11
6
12 89 23 12 32 11
在线演示:
希望它能帮助您理解这两种风格的问题和解决方案。将int-num[numElements]更改为float-num[numElements]?您正在向需要浮点数组的对象发送一个int数组。将int-num[numElements]更改为float-num[numElements]?您正在向需要浮点数组的对象发送一个整数数组。根据此问题的标题,我相当确定您的问题在于这行:
29.8333
你的意思是:
int num[numElements], i,j,temp;
您似乎还有一个额外的
(i=0;i基于此问题的标题,我相当确定您的问题在于这一行:
29.8333
你的意思是:
int num[numElements], i,j,temp;
您似乎还有一个额外的(i=0;i请缩进您的代码(这更有可能让人们想回答),并在正文中包含以下内容:此代码的目标是什么,您尝试了什么,以及什么不起作用。我在mean
@Chris中看到未初始化的变量,我修复了代码缩进,但在这样做的过程中,我发现了一个没有{}的大型代码嵌套(如for
循环)
大括号,这使得我很难确定什么是故意嵌套的代码,什么不是。约翰:如果你能添加{}
大括号,这样我们就知道什么代码应该嵌套,什么代码不应该嵌套。请缩进你的代码(这更可能让人们想回答),并在正文中包含以下内容:此代码的目标是什么,您尝试了什么,以及什么不起作用。我在mean
@Chris中看到未初始化的变量,我修复了代码缩进,但在这样做的过程中,我发现了一个没有{}的大型代码嵌套(如for
循环)
周围的大括号,这使得我很难确定什么是故意嵌套的代码,什么不是。约翰:如果你能添加{}<代码>括号,这样我们就知道应该嵌套什么代码,而代码不应该是什么。他可能使用一个允许你这样做的代码,从标题中可以看出他有一个问题,把一个int数组传递给一个需要浮点数组的函数。虽然他应该修正他的问题……我只是C++中的新手。约翰:没问题。你将学习C++的毕业论文。在这种情况下,您甚至不需要mean()
函数。再次查看我的答案。我解释了如何从
标题使用std::acculate
函数。@Nawaz:先生,我们可以从头开始吗?@Nawaz:关于函数的平均值。我真的不明白。如果你同意的话,先生?他可能正在使用一个允许你这样做的函数,从标题你可以看到hE把一个int数组传递给一个函数,它需要一个浮点数组。虽然他应该修正他的问题……我只是C++中的新手。约翰:没问题。你将逐渐学习C++。在这种情况下,你甚至不需要<代码>均值()。
函数。再次查看我的答案。我解释了如何从
标题使用std::acculate
函数。@Nawaz:先生,我们可以从头开始吗?@Nawaz:关于平均值函数。我真的不明白。先生,你同意吗?