再びお世話になります。
ヒープソートを用いて、配列に入った20個のデータを昇順に並び替えるプログラムを作成したいのですが、うまくソートされません。
昇順にソートするどころか、てんでんバラバラに並べられてしまいます。
お力添えいただけたら嬉しいです。

[1] 授業単元: プログラミング言語
[2] 問題文(含コード&リンク):
問題のソース
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/778.txt
[3] 環境
 [3.1] OS:Windows + cygwin
 [3.2] コンパイラ(バージョン): gcc
 [3.3] 言語:C
[4] 期限:2005年9月01日8:50まで
[5] その他の制限:cursesライブラリを使用する。コンパイル時、オプションに-lcurses必須。