// 2105RhythmMachine.cpp.cpp : コンソール アプリケーションのエントリ ポイントを定義します。 // #include "stdafx.h" #include #include #include #include #include std::ofstream ofs("test.txt",std::ios::trunc); void yakubunn(int &d,int &m){ //ただ単にm/dを約分する for(int i=2;i<=m;){ if(d%i==0 && m%i==0){ d/=i; m/=i; }else{ i++; } } } struct timing{ //楽器のならされるタイミングをtime=(double)m/dで保持する構造体 double time; int d,m; void set(int td,int tm){ //td分母tm分子 if(tm==0){ time=m=0; d=1; return ; } yakubunn(td,tm); m=tm;d=td; time=(double)tm/(double)td; } bool operator<(const timing t)const{ return time music;//00以外の音のならされるタイミングとならされる音を分数単位の時間と実数で保持 std::map allMusic;//00なる無音も含めた場合、intがならされる音となる ofs<::iterator it=music.begin(); std::map::iterator nextIt,ansIt; if(music.size()==0){ printf("00\n");//楽譜が無音のみなら00を出力 ofs<<"00"<1024){ //ならされる音の数が1024を超えるなら駄目 printf("Too complex.\n"); ofs<<"Too complex."<