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

C++で時針と分針の間の角度がシータで与えられる時間を見つけます


シータまたは角度の値が1つあるとします。時針と分針で角度を作成するhh:mm形式で1回検索する必要があります。角度が90°であるとすると、結果は3:00になる可能性があります。

12時間あるので、時間は12の可能性があり、分は60の可能性があります。可能な限りすべての時間をループします。任意の時間の角度が指定されたシータと同じである場合は、その時間を印刷します。

#include<iostream>
#include<cmath>
using namespace std;
float angleFromClockHand(int hour, int minute) {
   float hour_angle = 0.5 * (hour*60 + minute);
   float minute_angle = 6*minute;
   float angle = abs(hour_angle - minute_angle);
   angle = min(360-angle, angle);
   return angle;
}
void findTime(float theta) {
   for (int hour=0; hour<12; hour++) {
      for (int min=0; min<60; min++) {
         if (angleFromClockHand(hour, min)==theta) {
            cout << hour << ":"<< min;
            return;
         }
      }
   }
   cout << "Unable to find time";
}
int main() {
   float angle = 45.0;
   findTime(angle);
}

出力

4:30

  1. C++で指定された2つの日付の間の日数を検索します

    この問題では、daesのDD-MM-YYYYを示す3つの整数で構成される2つの配列date1[]とdate2が与えられます。私たちのタスクは、指定された2つの日付の間の日数を見つけることです。 問題を理解するために例を見てみましょう 入力 date1[] = {13, 3, 2021}, date2[] = {24, 5, 2023} 出力 802 説明 違いは2年、2か月(3〜5)、11日です。 2*356 + (30 + 31) + 11 = 802 ソリューションアプローチ この問題の簡単な解決策は、開始日date1からdate2まで、日数を数えてループすることです。そして値を返

  2. C ++で時計の時針と分針の間の角度を見つけるプログラム?

    時間と分の2つの値があるとします。時針と分針の間に形成される小さな角度を見つける必要があります。 したがって、入力が時間=12分=45の場合、出力は112.5になります。 これを解決するには、次の手順に従います。 h =12の場合、h:=0を設定します m =60の場合、m:=0を設定します hAngle:=0.5 *(60h)+ m マングル:=6m ret:=| hAngle --mAngle | 最小のretと(360 – ret)を返します。理解を深めるために、次の実装を見てみましょう。 例 #include <bits/std