• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:三角形の外接円の中心と半径を出力するcプログラム)

三角形の外接円の中心と半径を出力するcプログラム

このQ&Aのポイント
  • この問題で、sample inputのデータを入力すると問題なく出力されるのですが、コードを提出するとなぜかWrong Answer となってしまいます。
  • どこがおかしいのか教えてください。
  • #プログラミング #C #三角形 #外接円 #コード

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.4

単純に「計算式が間違っている」です。 テストパターンとして 6 0.0 0.0 0.0 2.0 2.0 2.0 0.0 0.0 2.0 2.0 0.0 2.0 0.0 2.0 0.0 0.0 2.0 2.0 0.0 2.0 2.0 2.0 0.0 0.0 2.0 2.0 0.0 0.0 0.0 2.0 2.0 2.0 0.0 2.0 0.0 0.0 を使います。 (0.0 0.0) ( 0.0 2.0) (2.0 2.0) これは、サンプルにあった座標と同じ外接円に接する三角形になります。 その座標を入れ替えた全6通りです。全て同じ三角形です。 ということは、サンプルと同じに 1.000 1.000 1.414 になるはずです ですが、実際には違う値になります。 どこに間違いがあるか、探すのは面倒なのでやっていません。 直したら、いろんなパターンを入力して確認してみましょう。 中心(x0,y0) 長さr0 の円上の点(xa,ya) は xa=x0+r0 * cos(Ta) ya=y0+r0 * cos(Ta) で求められます。 x0,y0,r0,Ta,Tb,Tc を乱数で決めれば、A,B,Cの3点の座標が求まります。 その順列全てを並べれば、テストパターンの完成です。 ・全部の順列で答えが(ほぼ)同じ ・その答えが元のx0,y0,r0と(ほぼ)同じ ということで確認することができます。

ponz123
質問者

お礼

ありがとうございます、計算からやり直してみます。

その他の回答 (3)

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.3

>scanf("%d",&n); ここで何を入れましたか? >Wrong Answer これはプログラムを実行して表示されたものと違いますよね。 どこからどのように表示されたのですか?

回答No.2

提出してWrong Answerと評価されるとしたら、割り算で除数が0になるケースを見てない、くらいかな? 除数が0になる、つまり、3点が直線状に並んでいる場合、除算は行ってはいけません。 あと、各値の範囲が指定されているけど、その範囲を逸脱している場合のエラーチェックもありません。 その辺りが「Wrong Answerと評価される理由」なんじゃないかな?

ponz123
質問者

お礼

もう一度確認してみます。

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.1

>Wrong Answer プログラムにない文字は出ません。 >コードを提出すると どう入力したのか書かないと検証できません。

ponz123
質問者

補足

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0010&lang=jp AOJのこの問題に、質問のコードを入力すると、Wrong Answerと返ってきてしまいます。

関連するQ&A