ハフマン符号化の簡単なプログラム
Posted: 2007年7月22日(日) 13:59
管理人さんお久しぶりです。
火曜日までの宿題でハフマン符号化のプログラムが宿題として出たのですが…
たとえば以下のように配列を宣言するとします。
struct huff{
double freq;
int parent;
int up;
};
次にこの構造体を struct huff a[10];
のように配列を使って宣言します。
最小値を求める際に以下の関数に
先ほど宣言した構造体の配列を入れたいのですが
int min(○○○)
{
int i;
double min;
min=a[0].freq;
int number;
for(i=1;i<WORKSPACE;i++){
if(min>a.freq && a.freq!=0.0){
min=a.freq;
number=i;
}
}
a[numbe[/url].freq=0.0;
return number;
}
min と a[/url].freq を比較し最小値を求め、
その最小値を持つ配列の番号を返したいのですが
関数の引数に何を入れればいいかわかりません。
またそのせいで配列を使った行が(例:min=a[0].freq など)
subscripted value is neither array nor pointer
となってしまいうまく動作しません。
ポインタの知識がいまいちでさらに構造体もかかわってきては…
どなたかご教授お願いいたします。
火曜日までの宿題でハフマン符号化のプログラムが宿題として出たのですが…
たとえば以下のように配列を宣言するとします。
struct huff{
double freq;
int parent;
int up;
};
次にこの構造体を struct huff a[10];
のように配列を使って宣言します。
最小値を求める際に以下の関数に
先ほど宣言した構造体の配列を入れたいのですが
int min(○○○)
{
int i;
double min;
min=a[0].freq;
int number;
for(i=1;i<WORKSPACE;i++){
if(min>a.freq && a.freq!=0.0){
min=a.freq;
number=i;
}
}
a[numbe[/url].freq=0.0;
return number;
}
min と a[/url].freq を比較し最小値を求め、
その最小値を持つ配列の番号を返したいのですが
関数の引数に何を入れればいいかわかりません。
またそのせいで配列を使った行が(例:min=a[0].freq など)
subscripted value is neither array nor pointer
となってしまいうまく動作しません。
ポインタの知識がいまいちでさらに構造体もかかわってきては…
どなたかご教授お願いいたします。