[2]下記のプログラムにおいて,numcountは,値が0 〜M -1 の範囲の大きさN のint型の配列を引数として渡されると(ただし,M, N は正の整数),同じ値が複数ある時はそれを1 個とみなしてその配列中の数の
個数を返す関数である.例えば,配列の値を7, 4, 8, 2, 4, 6, 1, 6, 4, 5 とすると,
(ダブリを省くと) この中には,7, 4, 8,2, 6, 1, 5 の7 個があるので,関数numcountは7 を返す.
これは,例えば,0 〜M -1 の範囲でどんな数が出てきたかをチェックしておき
(ヒント: 大きさM のint型の配列を用い,最初はすべて0に初期化しておき,数iが現れたら,そのi番目を1にすればよい),
最後に1度でも出てきたものを数えれば求めることができる.
関数numcountを,下記のプログラムの/* INSERT HERE */の部分に挿入できるように書け.(提出はプログラム全体)

#include <stdio.h>
#define M 10 /* 適当な正整数(数の範囲が0 〜M -1) */
#define N 10 /* 適当な正整数(入力する数の個数)*/
/* INSERT HERE */
intmain(void)
{
inti, a[N];
/* a[0]〜a[N-1] の値を入力する*/
for(i= 0; i< N; i++) {
printf("a[%1d] = ? ", i);
scanf("%d", &a[i]);
}
printf("numcount= %3d\n", numcount(a));
return 0;
}
[1] 配列
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン: Visual Studio 2008
 [3.3] 言語:C
[4] 期限:7/9
[5] その他の制限:プログラムだけでなく、課題の説明、実行結果も必要です
全くわかってませんのでどうかよろしくお願いします。