C の配列に対して次の 2 つのことを行う必要があります。
- そのエントリを合計します。
- ゼロ以外のすべてのエントリの位置を見つけます。
配列の各要素をループすることで両方を行っています。例えば
int sum_array(int a[], int num_elements)
{
int i, sum=0;
for (i=0; i<num_elements; i++)
{
sum = sum + a[i];
}
return(sum);
}
タスク 2 では、エントリが 0 かどうかを確認します。そうでない場合は、その位置を別の配列に追加して、ゼロ以外としてマークします。
質問
これらを行うより効率的な方法はありますか?
より効率的なソリューションがあれば、GNU Scientific Library (GSL) も使用しています。最近Cを始めたばかりです。