てすと

学校でボゴソートボゴソート言ってる奴がいたから、試験から現実逃避するために書いた。たぶんもっと良い書き方がゴロゴロあるんだろう。むしろあってるのだろうか。
なんか来月までにオブジェクト指向できないとアレな事になったからC++初めて書いた。
ソースコード綺麗に表示する機能がはてダにあったことを知らなかった。

class Cbog{
	private:
		int *bogary;
		int *bogarry;
		bool *set;
		int size;
		int count;
	public:
		Cbog(int a){
			count=0;
			srand((unsigned)time(NULL));
			size=a;
			
		}
		void bog_set();
		void bog_try();
		int get_count(){
			return count;
		}
		~Cbog(){
			delete bogary;
			delete bogarry;
			delete set;
		}
};
void Cbog::bog_set(){
	int i;
	bogary=new int[size];
	bogarry=new int[size];
	set= new bool[size];
	for(i=0;i<size;i++){
		bogary[i]=rand()%1000;
		bogarry[i]=bogary[i];
		std::cout<<bogary[i]<<" ";
		set[i]=false;
	}
	std::cout<<std::endl;
}
void Cbog::bog_try(){
	int i;
	int r;
	bool eos;
	do{
		eos=false;
		for(i=1;i<size;i++){
			if(bogarry[i-1]>bogarry[i]){
				eos=true;
				break;
			}
		}
		if(eos==true){
			for(i=0;i<size;i++){
				do{
					r=rand()%size;
				}while(set[r]);
				set[r]=true;
				bogarry[r]=bogary[i];
			}
			for(i=0;i<size;i++){
				bogary[i]=bogarry[i];
				set[i]=false;
				std::cout<<bogarry[i]<<" ";
			}
			std::cout<<std::endl;
			count++;
		}
	}while(eos);
}