10/11/25 18:09:56
>>405
変数名を直して一部加筆
short int y;
for( ディレイ時間分ループ ) ←*1
enqueue( 0 );
while(入力ファイルから short 一つを data に読み込む) { ←現行のソースに有る
enqueue( data );
y = dequeue()
data に y を重み付き加算 ← *2
出力ファイルに data を書き込む ←現行のソースに有る
}
つまり君が書くべきは *1 と *2 だけなんだけどな
ディレイ時間は argv[1] で与えられる delay だ、これがどんな単位で与えられるか又、サンプリングレートが幾らか不明なので
必要なループ回数が判らない
例えば delay の単位がmsecでサンプリングレートが20msec なら必要なループ回数はdelay / 20 という事になる
重みは argv[2] で与えられる weight だ、これも%で与えられるのか小数で与えられるのか判らないけど小数で与えられるなら *2 は
data += (short int)( (double)y * weight );
となる
>>383 が書いた様に、若い芽を摘み取りたくなかったので抽象的な表現を行ったのだけど伝わらないなら仕方がないだろう