落書きノート

ふと自分が気になった事を書いてます

C++で問題を解く AOJ

OpenGL三角関数を使っておきながら、引数にラジアンを指定するのを忘れていて、立ち往生してました。とりあえずこんな感じです。

// Distance
#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

int main(void) {
  double x1,y1,x2,y2;
  cin >> x1 >> y1 >> x2 >> y2;
  cout << setprecision(13) << sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2)) << endl;
  return 0;
}

// Triangle
#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

int main(void) {
  int a,b,C;
  double S,L,h;
  cin >> a >> b >> C;
  S = 1.0 / 2.0 * a * b * sin(M_PI / 180 * C);
  L = a + b + sqrt(a * a + b * b - 2.0 * a * b * cos(M_PI / 180 * C));
  h = b * sin(M_PI / 180 * C);
  cout << fixed << setprecision(9) << S << endl << L << endl << h << endl;
  return 0;
}