- 331 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 23:21:22 ]
- 条件分岐について質問です。
例えば class hoge{ bool flag; int x ; int y }; hoge a , b ,c;があるとして flagがtrueのものがひとつのときはそれを、複数のときは距離が近いものを取得したい場合 if( a.flag && !b.flag && !c.flag ) return a; else if( !a.flag && b.flag && !c.flag) return b; else if( !a.flag && !b.flag && c.flag) return c; else if( a.flag && b.flag && !c.flag){ if( distance(a.x, a.y) < distance(b.x, b.y) return a; return b; } .... else if( a.flag && b.flag && c.flag){ if( distance(a.x,a.y) < distance(b.x,b.y) ){ if( distance(a.x,a.y) < distance(c.x,c.y) return a; return c; }else if(................. } ........... こんな感じにたった3つでもとんでもなく条件分岐が増えてしまうのですが、 もう少し簡潔な分岐の仕方があったら教えて頂きたいです。
|

|