C/C++の宿題を片付け ..
[2ch|▼Menu]
596:デフォルトの名無しさん
07/07/21 19:29:31
最新にしてはエラーや警告出まくるんだけどw
で、comに考える力を与えてみた。

int com_put(){

int input;

do{
input = rand()%9;
}while(area[input] != 0);

if (area[0] + area[1] + area[2] == 8) input = (area[0] == 0)*0 + (area[1] == 0)*1 + (area[2] == 0)*2;
else if(area[3] + area[4] + area[5] == 8) input = (area[3] == 0)*3 + (area[4] == 0)*4 + (area[5] == 0)*5;
else if(area[6] + area[7] + area[8] == 8) input = (area[6] == 0)*6 + (area[7] == 0)*7 + (area[8] == 0)*8;
else if(area[0] + area[3] + area[6] == 8) input = (area[0] == 0)*0 + (area[3] == 0)*3 + (area[6] == 0)*6;
else if(area[1] + area[4] + area[7] == 8) input = (area[1] == 0)*1 + (area[4] == 0)*4 + (area[7] == 0)*7;
else if(area[2] + area[5] + area[8] == 8) input = (area[2] == 0)*2 + (area[5] == 0)*5 + (area[8] == 0)*8;
else if(area[0] + area[4] + area[8] == 8) input = (area[0] == 0)*0 + (area[4] == 0)*4 + (area[8] == 0)*8;
else if(area[2] + area[4] + area[6] == 8) input = (area[2] == 0)*2 + (area[4] == 0)*4 + (area[6] == 0)*6;
else if(area[0] + area[1] + area[2] == 2) input = (area[0] == 0)*0 + (area[1] == 0)*1 + (area[2] == 0)*2;
else if(area[3] + area[4] + area[5] == 2) input = (area[3] == 0)*3 + (area[4] == 0)*4 + (area[5] == 0)*5;
else if(area[6] + area[7] + area[8] == 2) input = (area[6] == 0)*6 + (area[7] == 0)*7 + (area[8] == 0)*8;
else if(area[0] + area[3] + area[6] == 2) input = (area[0] == 0)*0 + (area[3] == 0)*3 + (area[6] == 0)*6;
else if(area[1] + area[4] + area[7] == 2) input = (area[1] == 0)*1 + (area[4] == 0)*4 + (area[7] == 0)*7;
else if(area[2] + area[5] + area[8] == 2) input = (area[2] == 0)*2 + (area[5] == 0)*5 + (area[8] == 0)*8;
else if(area[0] + area[4] + area[8] == 2) input = (area[0] == 0)*0 + (area[4] == 0)*4 + (area[8] == 0)*8;
else if(area[2] + area[4] + area[6] == 2) input = (area[2] == 0)*2 + (area[4] == 0)*4 + (area[6] == 0)*6;

area[input] = 4;

}


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5382日前に更新/328 KB
担当:undef