私はコーディングに慣れていないので、配列のMax、Min、Avg、および新しい正規化された値を表示する方法を知っておく必要があります。私はmax minとavgが今のところ正しく動作していますが、配列の適切な新しい値をどのように表示するのかについては非常に混乱しています。ポイントは、関数を使用することです。 XI '=(XI-分)/(最大 - 最小) 私の現在のコードは次のようである:配列とパス参照
#include <iostream>
using namespace std;
void normalizeMinMaxAvg(double data[], int size,double& min, double& max, double& avg)
{
max = 0;
min = 0;
int sum = 0;
int i;
avg = 0;
for (i = 0; i < size; i++) {
sum += data[i];
if (max < data[i]) {
max = data[i];
}
if (min > data[i]) {
min = data[i];
}
}
avg = sum/size;
for (i = 0; i < size; i++){
data[i] = (data[i]-min)/(max-min);
}
}
int main()
{
double data[] = {-10.0,0.0,20.0,30.0,500.0};
double min, max, avg;
normalizeMinMaxAvg (data, 5, min, max, avg);
cout << "min = " << min << "\n";
cout << "max = " << max << "\n";
cout << "avg = " << avg << "\n";
cout << data;
return 0;
}
生の配列ではなく、代わりに 'std :: array'または' std :: vector'を使用してください。 – user0042
これはまだ許可されていない学校仕事です。 –
@MichaelDorganは正解ですが、それらはまだ使用されていません。 –