// 2105RhythmMachine.cpp.cpp : コンソール アプリケーションのエントリ ポイントを定義します。 // #include "stdafx.h" #include #include #include //#include //#include //std::ofstream ofs("test.txt",std::ios::trunc); void tuubunn2(int &d,int &m){ //ただ単に分子と分母を小さくする 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 ; } tuubunn2(td,tm); m=tm;d=td; time=(double)tm/(double)td; } bool operator<(const timing t)const{ return time music;//楽器のならされるタイミングとならされる音を分数単位の時間と10進数で保持 std::map allMusic;//無音も含めた場合 //ofs<::iterator it=music.begin(); std::map::iterator nextIt,ansIt; if(music.size()==0){ printf("00\n");//楽譜が無音のみなら00を出力 //ofs<<"00"<1024){ printf("Too complex.\n"); //ofs<<"Too complex."<1024) continue; for(int i=0;i