(11.1.1) ここは時間に余裕のある人向けである。
(11.1.2) §2.8 の画面制御エスケープシーケンスを利用し, 次のようなスタイルで配列の要素を画面に描く関数 void print4(void) を作ってみよう。
##### ### ####### #########
これは a[1] が 5, a[2] が 3, a[3] が 7, a[4] が 9 を示す。 「#」の数で要素を表しているのである。
void print4(void) {
int i, j;
printf("\033[1;1H"); /* 左上隅に移動する */
for (i = 1; i <= N ; i++) {
/* ここで a[i] 個の「#」を出力 */
printf("\033[K"); /* 行末まで削除 */
printf("\n"); /* 次の行へ移動 */
}
}
ヒープソートと組み合わせて使うとおもしろい。 N の値は 60 ぐらいがよさそうである。
(11.1.3) §2.8 に書いた, 「画面全体を消去」と「行末まで削除」のエスケープシーケンスは間違っていたようです。 すみません。