今日からアルゴリズムを勉強していこうと思う。選ばれたのはC言語です。理由は単純で今勉強中だから。メモ用として使っていくので詳しい解説はしない(というか知識がないからできない)。よく参考書にあるような数字の計算から始めるわけではないのでそこは理解していただきたい。では早速やっていこう。
環境構築に関しては以下の記事を参考にして構築した。(Windows)
※Macはわかりませんので各自で調べてください。
https://webkaru.net/clang/mingw-gcc-environments/
使用している書籍:C言語によるはじめてのアルゴリズム入門
著者:河西朝雄
暗号解読
code.c
# include<stdio.h>
int main(void){
static char table[] = {'D','B','M','C','U','V','W','X','Y','Z','N','L','A','E','I','T','S','J','H','F','G','K','O','P','R','Q','?'};
// char型のポインタ変数を定義
char *p,*str="DWAN";
// テーブルのインデックスを参照する際に使用
int index;
// ポインタ変数('str')に代入されている文字列('ASDF')をポインタ変数(p)に代入
p = str;
// 配列の最後(\0)までループさせる
while(*p != '\0'){
// アスキーコードで条件分岐
if('A' <= *p && *p <= 'Z'){
index = *p - 'A';
}else{
index = 26;
}
putchar(table[index]);
p++;
}
}
まとめ
初日はこんな感じで終わります。だんだん簡単なことはコメントをしないようにしていきます。