gpt4 book ai didi

c++ - 如何找到 vector 的统计信息?最大值/最小值、众数、中值、平均值

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:47:41 27 4
gpt4 key购买 nike

我的任务是询问用户 x 的最小值和最大值。然后我使用极端值计算这些极端值之间的 20 个值。我必须在表格上显示 x 值及其 f(x) 值。然后我必须找到有关 f(x) 值的统计数据,例如最小值和最大值、平均值、众数和中位数。我对 vector 不够熟悉,无法找到这些统计数据。任何帮助表示赞赏。到目前为止,这是我的代码...

#include <iostream>
#include <iomanip>
#include <cmath>
#include <vector>

using namespace std;

int main()
{
double xmin, xmax;
const int POINTS = 20;
const double PI = 3.1416;
double increments;
int counter = 0;

vector<vector<float> > values;

cout << "Enter in a value for the minimum x value: ";
cin >> xmin;
cout << "Enter in a value for the maximum x value: ";
cin >> xmax;

increments = (abs(xmin) + xmax) / POINTS;

double x = xmin + increments * counter;
double min = 0.0572 * cos(4.667 * x) + 0.0218 * PI * cos(12.22 * x);
double max = 0.0572 * cos(4.667 * x) + 0.0218 * PI * cos(12.22 * x);

cout << setw(15) << "x |" << setw(15) << "f(x)" << endl;
cout << setw(32) << setfill('-') << " " << endl;
cout << setfill(' ');
vector<float> auxiliar;

while (x <= xmax)
{
auxiliar.resize(2);
auxiliar[0] = x;
auxiliar[1] = 0.0572 * cos(4.667 * x) + 0.0218 * PI * cos(12.22 * x);

values.push_back(auxiliar);
auxiliar.clear();

if (0.0572 * cos(4.667 * x) + 0.0218 * PI * cos(12.22 * x) > max)
max = 0.0572 * cos(4.667 * x) + 0.0218 * PI * cos(12.22 * x);
if (0.0572 * cos(4.667 * x) + 0.0218 * PI * cos(12.22 * x) < min)
min = 0.0572 * cos(4.667 * x) + 0.0218 * PI * cos(12.22 * x);
counter++;
x = xmin + increments * counter;

}

for(vector<float> i:values)
cout << fixed << showpos << setw(15) << setprecision(2) << i[0] << setw(15) << setprecision(4) << i[1] << endl;

system("pause");
return 0;
}

最佳答案

vector<int>例如。获取元素的一种粗略但有效的方法是这样的:

for(int i=0; i<vec.size(); ++i)
{
int n = vec[i];
...
}

现在vector<vector<int>> :

for(int i=0; i<vec.size(); ++i)
for(int j=0; j<vec[i].size(); ++j)
{
int n = vec[i][j];
...
}

关于c++ - 如何找到 vector 的统计信息?最大值/最小值、众数、中值、平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35249678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com