次のコードで達成しようとしているのは、移動平均を見つけることです。
int slots = int ((sr+e)/mst); // finding number of slots
int temp2;
int temp1;
if (temp1 == null)
{
temp2 = 0;
}
temp2=temp1; // previously found number of slots
temp1=slots; // presently found number of slots
double mov_avg = (temp2+temp1)/2; //moving average
問題は、コンパイル時に temp1 が初期化されていないという警告が表示されることです。小さな調査を行ったところ、変数が初期化されていない場合、C++ のデフォルトで null 値またはゼロ値を格納しないことがわかりました。
temp1 = 0 として行をコードに入れることはできません。その値は、次の反復で temp2 変数に渡されるために必要になるためです。どちらも移動平均を計算するために必要です。
したがって、基本的に、これは上記の手順が初めて機能する問題です。それを乗り越えれば、移動平均の計算には上記のロジックで十分だからです。皆さんはどう思いますか?
前もって感謝します。