(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 に書いた, 「画面全体を消去」と「行末まで削除」のエスケープシーケンスは間違っていたようです。 すみません。