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

えるたそプログラムのすゝめ

雑記

はじめに

中間テストもつい先日終了し,テスト返却が行われている中, 私は今一つのプログラムを作っている.

疲れた

授業の課題なので完成させるが,息抜きにこの記事を書いている.

今更って思う人の多い記事だと思う.

古典部シリーズについて

氷菓 (角川文庫)

氷菓 (角川文庫)

米澤穂信さんが執筆している小説のシリーズである. 2012年に京都アニメーションによって氷菓というタイトルでアニメ化されたため,知っている人も多いだろう.

千反田える

f:id:nkjmau:20151204220733p:plain:w200

このシリーズのヒロインである.かわいい.

実は彼女の名前はある法則に従って導出されている(と思う).

ではC言語で書いてみよう

#include <stdio.h>

void LastName(int counter, char lname[12][3]);
void FirstName(int counter, char fname[26][11]);

int main(){
    int counter;
    char lname[12][3] =
        {"一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "百", "千"};
    char fname[26][11] = 
        {"えー", "びー", "しー", "でぃー", "いー", "えふ", "じー",
         "えいち", "あい", "じぇー", "けー", "える", "えむ", "えぬ",
         "おー", "ぴー", "きゅー", "あーる", "えす", "てぃー", "ゆー",
         "ぶい", "だぶりゅー", "えっくす", "わい", "ぜっと"};
    
    for(counter = 1; counter <= 1000; counter++){
        LastName(counter, lname);
        FirstName(counter%26-1, fname);
    }
    return 0;
}

/* 「姓」の出力 */
void LastName(int counter, char lname[12][3]){
    if(counter / 1000){
        printf("%s", lname[11]);
        counter %= 1000;
    }
    if(counter / 100 > 0){
        if(counter / 100 > 1){
            printf("%s", lname[counter / 100 - 1]);
        }
        printf("%s", lname[10]);
        counter %= 100;
    }
    if(counter / 10 > 0){
        if(counter / 10 > 1){
            printf("%s", lname[counter / 10 - 1]);
        }
        printf("%s", lname[9]);
        counter %= 10;
    }
    if(counter > 0){
        printf("%s", lname[counter - 1]);
    }
    printf("反田");
}

/* 「名」の出力 */
void FirstName(int counter, char fname[26][11]){
    printf("%s\n", fname[counter]);
}

実行すると

一反田えー
二反田びー
三反田しー

--中略--

二十六反田ぜっと
二十七反田えー

--中略--

九百九十九反田けー
千反田える

もうお分かりですね.

これをえるたそプログラムと名づける.

最後に

アニメ化されたのは2012年だし今更の話題だと思う. 息抜きにプログラムを書いて記事にしただけなので許してください.

実は一年前ぐらいに先輩にこのプログラムを書いてくれって言われて 2時間ぐらいかけて書いたことをふと思い出したから, 今回どれくらい成長したかなって思って書いてみた. 10分ぐらいで書けた. でもFirstName関数は必要なかった.ただ関数にしたかったから関数にした.

それにしても頭の悪いコードである.

あとプログラミングの息抜きにプログラミングっておかしい.

Hello World !!

新たなプログラミング言語を始めたらまず

Hello World !!

と出力するのが通例である.

僕はこれから新しい言語を始めて, Hello World !!が終わったら,えるたそプログラムを書くために 条件分岐やループの勉強をすると思う. 皆さんもどうだろうか??