C ++を使用して、2つの長方形が重なっているかどうかを確認します。
長方形は、左上隅と右下隅の2つの座標を使用して表すことができることがわかっています。 2つの長方形があるとすると、これら2つが重なっているかどうかを確認する必要があります。 4つの座標点(l1、r1)と(l2、r2)があります。
- l1は最初の長方形の左上隅です
- r1は最初の長方形の右下隅です
- l2は2番目の長方形の左上隅です
- r2は2番目の長方形の右下隅です
長方形は座標軸に平行であると仮定しました。これを解決するには、いくつかの条件を確認する必要があります。
- 1つの長方形が別の長方形の上端の上にあります
- 1つの長方形が別の長方形の左端の左側にあります。
例
#include<iostream> using namespace std; class Point { public: int x, y; }; bool isOverlapping(Point l1, Point r1, Point l2, Point r2) { if (l1.x > r2.x || l2.x > r1.x) return false; if (l1.y < r2.y || l2.y < r1.y) return false; return true; } int main() { Point l1 = {0, 10}, r1 = {10, 0}; Point l2 = {5, 5}, r2 = {15, 0}; if (isOverlapping(l1, r1, l2, r2)) cout << "Rectangles are Overlapping"; else cout << "Rectangles are not Overlapping"; }
出力
Rectangles are Overlapping
-
C ++を使用して、N階乗の合計の最後の2桁を検索します。
ここでは、最後の2桁を取得する方法を説明します。 N階乗の合計の単位桁と10桁。したがって、N =4の場合、1になります。 + 2! + 3! + 4! =33.したがって、単位の場所は3で、10の場所は3です。結果は33になります。 10の後、10の場所は0のままになります。N=10以上の場合、00になります。階乗数のN=1から10のグラフを作成できます。 これらの手順を使用してこの問題を解決できます- nの値が10未満の場合、(1!+ 2!+…+ n!)mod 10 それ以外の場合、nの値が10以上の場合、(1!+ 2!+…+ 10!)mod 10 =13 例 #inc
-
C++の中間点を使用して長方形の角を見つける
長方形ABCDがあると仮定しますが、中点PとQの座標、および長方形Lの長さしかありません。 私たちのタスクは、PとQの座標、および辺Lの長さを使用して、A、B、C、およびDの座標を見つけることです。たとえば、Pが(1、0)、Qが(1、2)の場合、およびLが2の場合、A、B、C、Dはそれぞれ(0、0)、(0、2)、(2、2)になります。 (2、0)。 発生する可能性のあるケースは3つあります。 長方形は水平であるため、ADとBCはX軸に平行です 長方形は垂直であるため、ADとBCはY軸に平行です 長方形は軸に対して特定の角度で傾斜しています。 3番目のケースでは、PとQの座標を使