ボゴソートもどきの文字列作成

投稿者: | 2018年4月17日

「文字列をランダムで作ってPPAPになるコードでよくわからないエラーでるんだけど」と言われて、
エラー云々はよくわからなかったので、自分でそういうコードを書いてみました。

[cpp]
  #include <iostream>
  #include <time.h>
  #include <string>
  #include <random>
  #include <chrono>
  using namespace std;
  int dice(void);
  int main(int argc, char const *argv[]) {
    //A~Zのアルファベットの配列を作成
    char moji[26];
    int j=0;
    for(char i='A';i<='Z';i++){
      moji[j]=i;
      j++;
    }
    auto  start=chrono::system_clock::now();   //時間計測
    string s;
    int count=0;  //最悪∞回ループが回るので規定回数回ったら終了させたい用
    while(count<1000000){
      for(int i=0;i<4;i++){
        int j=dice();
        s.push_back(moji[j]);
      }
      if(s=="PPAP"){
        printf("%d回目にPPAPになりました。\n",count+1);
        break;
      }
      count++;
      s.clear();
    }
    if(count==1000000) cout<<"PPAPにはなりませんでした。"<<endl;
    //時間計測
    auto end=chrono::system_clock::now();
    auto dur=end-start;
    auto second=chrono::duration_cast<std::chrono::seconds>(dur).count();
    cout<<second<<endl;
    return 0;
  }
  //乱数発生関数
  int dice(void){
    random_device rnd;
    mt19937 mt(rnd());
    uniform_int_distribution<int> rand26(0,25);
    return rand26(mt);
  }
  [/cpp]

実行にかかる時間を測るためにchrono使っています。C++11で増えた機能全然知らなくてやばい。
[blogcard url=”https://cpprefjp.github.io/reference/chrono.html”]
アルファベットの配列を先に作ってます。もう少し綺麗に書けないかなあと。ただ、

[cpp]
  char moji[26]={'A','B',・・・,'Z'};
[/cpp]

って書くよりかはマシな気がします。まあ、先に作っておいて、コピペでいいけども。素数とかはそっちの方が早いですし。

実行時間は大体30秒程度でした。まあやってる話がボゴソートですし。

雨ニモマケズ風ニモマケズ海ヘ

投稿者: | 2018年4月8日

最近風が強いです。漕いでも漕いでも前に進みません。

久しぶりにバイトが遅くからだったのでロードバイク走らせました。今回のコースは以下の通り。

河川敷に「海まで35km」ってあるのが気になってやってみました。

走行時の風速は最大7.0m/sでした。全く前に進まなかった。

なので家を出た瞬間に「これだめなやつだろ、帰ろ」ってなりましたが、せっかくの休みだしということで「あの橋まではいこう」とやってたら目的地についていました。

ついた海は二俣新町の所。私が昔に派遣で行ってたところです。ついた途端にテンション下がりました。

帰りは幸いにも横風~少し追い風だったので大分楽に走れました。

結局、平均速度26.3km/hでした。サイコンはまだ買ってないので微妙ですが。

還付金入ったらGARMIN 820J買います。あとボトルゲージもう一個。

まだロードバイクの姿勢に慣れてないからベンディングペダルはお預けです。

青春18切符旅、高松〜金沢

投稿者: | 2018年3月21日

駅メモを始めてから10ヶ月ほど経ちました。
気がつけば駅メモのために旅行するようになった気がします。
もともと電車旅は好きだったので、それが更に加速した感じです。
ロードバイクも買ったので、時間があれば色んな所にでかけたいと思っています。

高松〜金沢

帰省ついでに旅行、ということで高松〜金沢間を青春18切符で移動しました。
計画は以下の通りでした。
続きを読む

Twitch PrimeでAmazonアカウントと紐づけがうまくいかない時

投稿者: | 2018年3月15日

Twitch PrimeでShadow Tacticsを無料で配布ということで、紐づけ作業。
[blogcard url=”https://jp.blog.twitch.tv/games-with-prime-jp-1bc9fe2a0807″]
しかし、いくら紐づけしようにも”twitch primeにアクセスするには、クレジットカードの請求先住所が確認済みの日本内の住所である必要があります。”と出て一向に進まない。
解決方法は以下の通りです。

1.まずAmazonに登録しているカードの請求先住所が正しいか確認。
2.古いクレジットカード情報を削除
3.Cookieを削除してやり直し
4.ダメならブラウザを変えて紐づけ作業

私はFirefoxで作業してて、うまく行かなかったので初めてEdgeを使いました。
Edgeだとうまく通ったので、ブラウザ固有の問題かなあ。
調べてるとChromeでも起こるらしいので・・・このご時世にEdge使うとは・・・。

ubuntu server14.04LTSを再インストール

投稿者: | 2018年3月10日

暇なのと、そろそろメディアライブラリ作るかあってなってきたので、もう使ってない録画サーバを引っ張ってきてubuntu serverをクリーンインストールしました。
手持ちにあるメディアディスクに入ってるのがubuntu server14.04LTSだったのですが、あとでアップグレードすればいいやということで、とりあえず14.04LTSを入れました。
参考にしたサイトは以下の通り。
[card url=”http://fxst24.blog.fc2.com/blog-entry-442.html”]
[card url=”https://kledgeb.blogspot.jp/2016/04/ubuntu-1604-1-ubuntu-1604ubuntuubuntu.html”]
続きを読む

AIMP4でもなうぷれプラグインを使う方法

投稿者: | 2018年3月9日

AIMP3(v3.5)のときまでなうぷれプラグインがありました。
[card url=”http://rall.skr.jp/aimp/”]
その後AIMP側のプラグイン管理の方法が変わり、PluginsにT4Aフォルダとdllを置くだけではダメになりました。
しかし、置き方さえ工夫すれば使えるらしい・・。
[card url=”http://kuonchan.hateblo.jp/entry/2017/05/25/012816″]
続きを読む

コミケ!

投稿者: | 2017年12月30日

コミケ1日目お疲れ様でした。
私は1日目だけ参戦なので、私のC93はこれで終わりです。
あまりに疲れてて戦利品整理は来年になりそうです・・・。
とりあえず、私が一番欲しかった物だけ開けました。
興奮しすぎて死にそうです。
続きを読む

Cでソート

投稿者: | 2017年12月12日

最近の言語にはソートの内容知らなくても便利な関数が用意されているので、とりあえずソートできるといえばできます。
C++ならばをincludeすればsortが使えますし、pythonにもsort()ってあるらしいですし。
[card url=”https://cpprefjp.github.io/reference/algorithm/sort.html”]
[card url=”https://docs.python.jp/3/howto/sorting.html”]
しかし、C言語にはそんな便利なものはないので自分で実装しましょうという話です。
あと、なんだかんだソートって自分で実装できたほうがいいよね、というのもあります。
続きを読む