要素数がnである配列aの中から、指定された数bの位置を探し、返却する関数
int find(TYPE a[], int n, TYPE b)
を作成せよ。なお、配列aと位置を探すbは関数テンプレートを用いて、int型、double型でも
可能なようにせよ。また、bがaに含まれていない場合には-1を、複数含まれている場合には、
最も小さな位置を返却するものとする。

という問題なんですけど教えてもらえませんか。
while文かfor文か検討が着かないので見通しだけでも教えてください。
よろしくお願いします。