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

C++で時間を24時間制から12時間制に変換します


このチュートリアルでは、時間を24時間制から12時間制に変換するプログラムについて説明します。

このため、24時間形式で特定の時間が提供されます。私たちのタスクは、「AM」または「PM」を拡張子として12時間形式に変換することです。

#include <bits/stdc++.h>
using namespace std;
//converting into 12 hour format
void convert_12hour(string str){
   int h1 = (int)str[0] - '0';
   int h2 = (int)str[1] - '0';
   int hh = h1 * 10 + h2;
   //finding the extension
   string Meridien;
   if (hh < 12) {
      Meridien = "AM";
   }
   else
      Meridien = "PM";
      hh %= 12;
   if (hh == 0) {
      cout << "12";
      for (int i = 2; i < 8; ++i) {
         cout << str[i];
      }
   } else {
      cout << hh;
      for (int i = 2; i < 8; ++i) {
         cout << str[i];
      }
   }
   cout << " " << Meridien << '\n';
}
int main(){
   string str = "17:35:20";
   convert_12hour(str);
   return 0;
}

出力

5:35:20 PM

  1. C++で可能な限り土地から遠い

    0や1などの値のみを含む1つのNxNグリッドがあり、0は水を表し、1は土地を表すとすると、最も近い土地セルまでの距離が最大になるように水セルを見つけて、距離を返す必要があります。ここでは、マンハッタン距離を使用します。2つのセル(x0、y0)と(x1、y1)の間の距離は| x0--x1|です。 + | y0--y1|。グリッドに土地や水が存在しない場合は、-1を返します。 1 0 1 0 0 0 1 0 1 セル(1,1)は、距離2のすべての土地から可能な限り離れているため、出力は2になります。 これを解決するには、次の手順に従います

  2. C++ですべての従業員に通知するために必要な時間

    会社に、従業員ごとに一意のIDを持つn人の従業員がいるとします。これらのIDの範囲は0からn-1です。会社の責任者はheadIDを持つものです。各従業員には、manager配列で指定された1人の直属の上司がいます。ここで、manager [i]はi番目の従業員の直属の上司であり、manager [headID]=-1です。また、従属関係がツリーのような構造になることが保証されています。ここで、会社の責任者は、会社のすべての従業員に緊急のニュースを通知したいと考えています。彼は直属の部下に通知することができ、すべての従業員が緊急のニュースを知るまで、部下などに通知します。 i番目の従業員は、すべ