読者です 読者をやめる 読者になる 読者になる

マージソート

基本に立ち戻って、マージソートをやってみた。 Ruby, C, Scala, Gaucheの4種類。 最初にRubyで書いて、他に移植という流れ。 ScalaとGaucheはほぼ同じ。普通に再帰で書いたけど、Scalaは末尾再帰に最適化されてるそうな。 Cだけは配列をガンガン作ろうとす…

Makefile を書いてみる

C

いちいちgcc のオプションとか叩くのが面倒なので、Makefileを作ってみた。 参考: Makefileの書き方 - スキルアップ輪講 Makefileの基本的な構文は依存関係を表す依存関係行です。依存関係行はこんな感じです。ターゲット名: 依存ファイル名1 依存ファイル名…

Cでcatもどきを書く

C

ふつうのLinuxプログラミングに載っていた練習問題を書いてみた。 お題は、 ファイルを読み込み、\t を"\t"に、改行 を "$"+改行 に置き換えた文字列を出力するコマンド #include <stdio.h> #include <stdlib.h> int main (int argc, const char *argv[]) { FILE *f; int c; if </stdlib.h></stdio.h>…

Hello, World!

C

片足を突っ込みながらびくびくしてみる。 #include <stdio.h> int main(int argc, char *argv[]) { printf("Hello, World!\n"); return 0; }</stdio.h>