2005-11-01から1ヶ月間の記事一覧

web archive

「ミルカさんフラッシュ」だけど、これって net 上にある 興味を引く page の 紹介に 転用できそう。 http://www.hyuki.com/girl/tm_miruka.html さっそく 「結城メソッド*1」を 試してみた。 http://www4.kcn.ne.jp/~yoitiro/binary/index.html (でも、文章…

web archive

おもしろそうなので ajibit さんの つくった 高橋メソッドマシーンを download してみた。 http://lab.ajibit.com/pukiwiki.php?Flash%2F%B9%E2%B6%B6%A5%E1%A5%BD%A5%C3%A5%C9%A5%DE%A5%B7%A1%BC%A5%F3 via http://www.hyuki.com/t/200511.html#i2005112723…

はじめての C

C programming note*1 今回は さらに オプションスイッチを 追加し、"-n" オプションが 指定されたときに 行番号を 出力するように 機能追加して、cat4.c と した。(p111) オプションを 追加する やり方は 同じで、関数 do_one() に 少し 変更を 加えて、新…

はじめての C

C programming note*1 基本に戻って、ちょっと 復習。 プログラム upper3r には、次のような while文が 含まれています。while (argc--) { if )((fp = fopen(*argv, "r"))( == NULL) cant(*argv); do_one(fp); fclose(fp); argv++; }この while文から 抜け出…

はじめての C

C programming note*1 「小文字を 大文字に 変換する」 コードを プログラム cat3 に 組み込んでいきます。 この 2つを 1つの プログラムに まとめて、入力元の ファイルは コマンドで 複数指定でき、かつ オプションスイッチを つけた 場合には 大文字変換…

はじめての C

C programming note*1 toupper() と islower() については、K&R 2nd の 「7.8 雑関数」(p203) に その説明が 載っています。これらの関数を 使用するには ヘッダファイルの ctype.h を インクルードしておきます。 同じような 働きをするものも 含めて、 tou…

はじめての C

C programming note*1 次は、小文字を 大文字に 変える プログラム。 最初の ASCII 依存プログラムでは、大文字と 小文字の コード番号が ちょうど 32 だけ 離れているのを 利用しています。 その部分の コードは、while )((c = getc(fp))( != EOF) { if ('a…

はじめての C

C programming note*1 cat2 を さらに 改良して 「標準入力」 と 「コマンドラインで ファイル名を 指定して 順に それらのファイルを 入力元とする」 両方のスタイルが 使えるようにします。 このとき、関数を 分けたことが 役にたってきます。 このような…

はじめての C

C programming note*1 関数 do_one() の 引数の 説明は、外部変数の 解説のところで でてきます。 「名前の 適用範囲 scope」というものを 説明しよう。 main() 関数内で FILE *fp; と 宣言されている fp という変数は 他の 関数の中では 使えない。 これは …

はじめての C

C programming note*1 複数の 関数に 分けるというのは、よく使われる - 基本になる - 処理を 切り離して 別の関数に したてておく。 それを main() 関数で 呼び出す、ということ。 cat1 を 改良した プログラムでは 2つの 関数が 使われている。 do_one() …

はじめての C

C programming note*1 今度は、ポインタ配列の argv が 使われてる プログラム。(p64-65) これは UNIX の コマンド cat と ほぼ 同じ 働きをする。 つまり こういうことが 可能、$./cat1 file1 file2 file3 > outfileコードは こちら、/* cat1.c */ #include…

はじめての C

C programming note*1 少し戻って、次のような「標準入力の内容を そのまま 標準出力に 出力する」プログラムが でてくる。(p16)/* typ1.c */ #include main() { int c; while )((c = getchar())( != EOF) putchar(c); }これを 標準入力ではなく、ファイルか…

はじめての C

C programming note*1 インクリメント演算子は、整数型の変数に 適用したときは「値を 1つ 増やす」働きをしたが、ポインタ変数に 適用すると「指していたものの 次を 指すようにする」働きをする。(p73) main 関数の 仮引数の 1つ argv は ポインタ関数なの…

web_two_point

う〜ん、こんなポスターが → ■(via "Web 2.0 is made ...")

debian memo

net 上の page にある 圧縮ファイルを download するには どうするか ? ぼくは lftpget という lftp に 含まれる ユーティリティを 使っています。 まず lftp を インストールして、$sudo apt-get install lftp password:「作ってわかる Cプログラミング」 …

useless tips

vi エディタを 使いやすくするため、作業ディレクトリに 設定ファイルを 置いてみる。 ファイル名は .vimrc (ドットファイル)。 ディレクトリ名が c_lang だとすると、 $cd c_lang $vi .vimrcとして、ファイルを 開く。 中身は 2行だけ。 set sm set ts=4set…

はじめての C

さて、次の ステップは どうしようか ? いまの ぼくに 理解できそうな 本が ないか、本屋に いって 捜してみた。 それが コレ、 C については まったくの 初心者で 他の言語も よく知らないが、 i = i + 1 が 意味することぐらいは 何となく 想像できる 程度…

web archive

スキップリストに 関する 論文で、いろいろなところで 引用されている 論文に 次のものがある。 "Skip Lists vs B-trees" by M.D. Black 元の paper は 既に net 上には ないが、Lee's Journal が pdf.file を local copy に とってくれていた。 http://lee.…

プログラミング言語 C

二次元配列を 使って、表計算するコードが 下の本に 載っていた*1ので、ちょっと いじってみる。 ・プログラミングの力を生みだす本 (isbn:4274132072) total と average の 二重ループでは、 row と column の順が 逆になっています。 表は こんな感じで、 …

プログラミング言語 C

どうやら hash search と skip list の間には、構造体への ポインタを使った 共通する algorithm が あるらしい、という ところまでは 判明。(これ以上は、初心者では ムリみたい ...) ポインタ配列とは 別なので、とばしていた 多次元配列に 戻って、 実際…

プログラミング言語 C

hash関数による テーブル参照が わからないので、訳しながら 読んでみる。 このセクションでは、構造体の より特色のある面の 説明のために、table-lookup package の 中身を 書くことにしよう。 そのコードには、マクロや コンパイラにおける symbol table …