ハフマン符号化の簡単なプログラム

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kaoru

ハフマン符号化の簡単なプログラム

#1

投稿記事 by kaoru » 18年前

管理人さんお久しぶりです。

火曜日までの宿題でハフマン符号化のプログラムが宿題として出たのですが…

たとえば以下のように配列を宣言するとします。

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

となってしまいうまく動作しません。

ポインタの知識がいまいちでさらに構造体もかかわってきては…

どなたかご教授お願いいたします。

kaoru

Re:ハフマン符号化の簡単なプログラム

#2

投稿記事 by kaoru » 18年前

すいません、ポインタを使いまくってみたら
何とか動作するようになりました。

ご迷惑おかけしました。

閉鎖

“C言語何でも質問掲示板” へ戻る