C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++のサーキュラーで直径のもう一方の端の座標を見つけます


円の周囲に中心座標と1つの座標点があるとします。周囲の別のポイントを見つける必要があります。中心点が(p、q)であり、1つの与えられた点が(a、b)であると考えてください。点(x、y)を見つける必要があります。私たちが知っているように、中心は直径の中点です。したがって、次のように書くことができます-

(p、q)=(a + x / 2、b + y / 2)

または、これから(x、y)は次のように表すことができます-

x =2p-a、y =2q-b

#include<iostream>
using namespace std;
int getCylinderPerimeter(int d, int h) {
   return (2*d) + (2*h);
}
int main() {
   int diameter = 5, height = 10;
   cout << "Perimeter: " << getCylinderPerimeter(diameter, height) << " units";
}

出力

Perimeter: 30 units

  1. マンハッタン距離の合計がC++で最小になるような点を見つけます

    K次元空間にn個の異なる点があり、nの値が範囲(2、105)にあり、kの値が範囲(1〜5)にあるとします。結果の点からn点までのマンハッタン距離の合計が最小になるように点を決定する必要があります。 2点P1(x1、y1)とP2(x2、y2)の間のマンハッタン距離は| x1 –x2|です。 + | y1 –y2|。次元が3で、(1、1、1)、(2、2、2)、(3、3、3)のような3つのポイントがあるとすると、出力は(2、2、2)になります。 この問題を解決するには、すべてのK次元の点を並べ替え、各k次元の中央の要素から出力を取得する必要があります。 例 #include<iostrea

  2. 凸包を見つけるためにジャービスマーチを実装するC++プログラム

    ジャービスマーチアルゴリズムは、特定のデータポイントのセットから凸包のコーナーポイントを検出するために使用されます。 データセットの左端のポイントから開始して、反時計回りの回転によって凸包内のポイントを保持します。現在のポイントから、現在のポイントからのそれらのポイントの方向を確認することにより、次のポイントを選択できます。角度が最大の場合、ポイントが選択されます。すべてのポイントを完了した後、次のポイントが開始ポイントになったら、アルゴリズムを停止します。 Input: Set of points: {(-7,8), (-4,6), (2,6), (6,4), (8,6), (7,-2),