C ++

 Computer >> コンピューター >  >> プログラミング >> C ++
  1. シンプルな電卓用のメニュー方式のC++プログラム

    このチュートリアルでは、簡単な電卓用のメニュー方式のプログラムを作成するプログラムについて説明します。 このプログラムにより、ユーザーは次の数学演算(加算、減算、乗算、除算、HCF、LCM)から選択できるようになります。 例 #include <bits/stdc++.h> using namespace std; //displaying the menu void menu(){    cout << "Press 1 to calculate Sum of Numbers\n";    cout <

  2. C++STLで設定されたサイズkのすべてのサブアレイの最大値

    このチュートリアルでは、C++STLのsetを使用してサイズkのすべてのサブ配列を最大化するプログラムについて説明します。 このために、サイズNと整数Kの配列が提供されます。私たちのタスクは、各K要素の最大要素を取得し、それらを合計して印刷することです。 例 #include <bits/stdc++.h> using namespace std; //returning sum of maximum elements int maxOfSubarrays(int arr[], int n, int k){    set<pair<int, int

  3. C ++ STLでequal_range()をマップします

    このチュートリアルでは、C++STLのマップequal_rangeを理解するためのプログラムについて説明します。 この関数は、指定されたパラメーターに相当するキーが存在するコンテナーの範囲を制限するイテレーターのペアを返します。 例 #include <bits/stdc++.h> using namespace std; int main() {    //initializing container    map<int, int> mp;    mp.insert({ 4, 30 });  

  4. C++でマトリックスを反転した後のスコア

    各値が0または1である2次元行列Aがあるとします。ここでの移動は、任意の行または列を選択し、その行または列の各値を切り替えることで構成されます。つまり、すべて0を1に、すべて1を0に変更します。これで、任意の数の移動を行った後、このマトリックスのすべての行が2進数として解釈され、マトリックスのスコアはこれらの数値の合計になります。したがって、私たちのタスクは、可能な限り最高のスコアを見つけることです。入力が-のような場合 0 0 1 1 1 0 1 0 1 1 0 0 トグル後の出力は39になり、行列は-になります。

  5. C++のプライムパリンドローム

    N以上の最小のプライムパリンドロームを見つける必要があるとします。したがって、Nが13の場合、最小のパリンドロームは101になります。 これを解決するには、次の手順に従います- Nが8〜11の範囲にある場合は、11を返します 1〜99999の範囲のiの場合 s:=文字列としてのi r:=s リバースr num:=sとrのサブストリングをインデックス1から連結してから、数値に変換します =Nで、numが素数の場合、numを返します 0を返す 理解を深めるために、次の実装を見てみましょう- 例 #include <bits/st

  6. C++で2のパワーを並べ替えました

    正の整数Nがあるとすると、先頭の数字がゼロ以外になるように、任意の順序(元の順序を含む)で数字を並べ替えます。結果の数値が2の累乗になるような方法でこれを実行できるかどうかを確認する必要があります。したがって、数値が46のような場合、答えは真になります。 これを解決するには、次の手順に従います- countというメソッドを定義します。これはxを入力として受け取ります ret:=0 xが0ではない間 ret:=ret + 10^xの最後の桁 x:=x / 10 retを返す メインの方法から、次のようにします- x:=count(N)

  7. C++での最長のフィボナッチサブシーケンスの長さ

    シーケンスX_1、X_2、...があるとすると、-の場合、X_nはフィボナッチのようになります。 =3 X_i + X_ {i + 1} =X_ {i+2}すべてのi+2 <=n ここで、シーケンスを形成する正の整数の厳密に増加する配列Aを想定し、Aの最長のフィボナッチのようなサブシーケンスの長さを見つける必要があります。存在しない場合は0を返します。したがって、数値が[1,2 、3,4,5,6,7,8]の場合、出力は5になります。フィボナッチである最長のサブシーケンスは[1,2,3,5,8]のようになります。 これを解決するには、次の手順に従います- ret:=

  8. C++でバナナを食べるココ

    バナナの山がN個あるとすると、i番目の山にはバナナの山があります[i]。ここで警備員は去り、H時間後に戻ってきます。ココは、1時間あたりのバナナの食べる速度をKと決めることができます。毎時、彼女はバナナの山をいくつか取り、その山からK本のバナナを食べます。パイルのバナナがK未満の場合、彼女は代わりにすべてのバナナを消費し、この時間中はそれ以上バナナを食べません。ココはゆっくり食べるのが好きですが、警備員が戻ってくる前にすべてのバナナを食べ終えたいと考えています。彼女がH時間以内にすべてのバナナを食べることができるように、最小の整数Kを見つける必要があります。 したがって、入力が[3,6,7,

  9. C++でのストーンゲーム

    アレックスとリーの2人のプレーヤーが、石の山でゲームをしているとします。偶数の杭が一列に並んでおり、各杭にはいくつかの石の杭があります[i]。ゲームの目的は、ほとんどの石で終了することです。石の総​​数が奇数の場合、同点はありません。アレックスとリーが交代で、アレックスが最初に始まります。各ターンで、プレイヤーは列の最初または最後から石の山全体を取ります。これは、山がなくなるまで続けられ、その時点で、最も多くの石を持っている人が勝ちます。アレックスとリーが最適にプレーしていると仮定して、アレックスがゲームに勝つかどうかを確認します。したがって、入力が[5,3,4,5]の場合、結果はtrueにな

  10. C++で人々を救うためのボート

    peopleという配列があるとします。これで、i番目の人の体重は人[i]になり、各ボートは最大重量の制限を運ぶことができます。各ボートが同時に最大2人を乗せる場合、それらの人の体重の合計が最大で制限されていることを条件とします。私たちは、与えられたすべての人を運ぶためのボートの最小数を見つけなければなりません。したがって、入力が[3,2,1,2]のようで、制限が3の場合、3つのボートが必要です。 [(1,2)、(2)、(3)]。 これを解決するには、次の手順に従います- 人々の配列を並べ替える i:=0、j:=人の配列のサイズ– 1、ret:=0 i <=j pe

  11. C++のスパイラルマトリックスIII

    R行とC列の2次元グリッドがあるとすると、東向きの(r0、c0)から開始します。ここで、グリッドの北西の角は最初の行と列にあり、グリッドの南東の角は最後の行と列にあります。このグリッドのすべての位置を訪問するために、時計回りのスパイラル形状で歩きます。グリッドの境界の外側にいるときは、グリッドの外側を歩き続けます(ただし、後でグリッドの境界に戻る場合があります)。グリッドの位置を表す座標のリストを、訪問した順序で見つける必要があります。したがって、グリッドが-のような場合 次に、矢印がパスになります。 これを解決するには、次の手順に従います- dirrを作成:=[[0,1]、[

  12. C++で可能な2分割

    N人のセット(1、2、...、Nの番号が付けられている)があるとすると、すべての人を任意のサイズの2つのサブグループに分割します。今、各人は他の人を嫌うかもしれません、そして彼らは同じグループに入るべきではありません。したがって、dislikes [i] =[a、b]の場合、aとbの番号が付けられた人々を同じグループに入れることは許可されていないことを示します。この方法で全員を2つのグループに分割できるかどうかを確認する必要があります。 したがって、入力がN =4で、嫌い=[[1,2]、[1,3]、[2,4]]の場合、出力はtrueになり、グループは[1,4]と[2]になります。 、3]。

  13. C++でのサブ配列のビットごとのOR

    非負の整数の配列Aがあるとします。 B =[A [i]、A [i + 1]、...、A [j]](i <=j)と言うすべての(連続する)サブ配列に対して、すべての要素のビットごとのORを実行します。 B、結果の取得A [i] | A [i + 1] | ... | A[j]。可能な結果の数を見つける必要があります。 (複数回発生した結果は、最終回答で1回だけカウントされます。) したがって、入力が[1,1,2]の場合、サブ配列は[1]、[1]、[2]、[1,1]、[1,2]、[1]であるため、結果は3になります。 1,2]の場合、結果は1,1,2,1,3,3になり、3つの異なる結果が得られま

  14. C++のRLEイテレータ

    ランレングスでエンコードされたシーケンスを反復処理するイテレータを作成する必要があるとします。ここで、イテレータはRLEIterator(int [] A)を呼び出すことによって初期化されます。ここで、Aはシーケンスのランレングスエンコーディングです。したがって、すべてのiについて、A[i]は非負の整数値A[i+1]がシーケンス内で繰り返される回数を示していると言えます。ここで、イテレータは1つの関数をサポートします- =1)を使い果たし、この方法で使い果たされた最後の要素を返します。したがって、使い尽くす要素が残っていない場合、nextは代わりに-1を返します。 A =[3,8,

  15. C++の最小範囲II

    整数の配列Aがあるとします。整数A[i]ごとに、x=-Kまたはx=Kのいずれかを選択し、xをA [i]に追加する必要があります(1回のみ)。したがって、このプロセスの後に、配列Bができます。Bの最大値とBの最小値の間の可能な限り最小の差を見つける必要があります。したがって、入力がA =[0,10]、K =2の場合、 B =[2,8]であるため、出力は6になります。 これを解決するには、次の手順に従います- set ret:=0、n:=配列Aのサイズ 配列Aを並べ替える set ret:=Aの最後の要素–Aの最初の要素 右:=A – Kの最後の要素と左:=A+kの最初の

  16. C++でのオンライン選挙

    選挙で、i番目の投票が時間[i]の人[i]に投じられたとします。ここで、次のクエリ関数を実装する必要があります。TopVotedCandidate.q(int t)これにより、時間tで選挙を主導した人物の番号が検出されます。時間tに投じられた投票は、クエリにカウントされます。同点の場合は、(同点の候補者の中で)最新の投票が勝ちます。 したがって、これをTopVotedCandidate([0,1,1,0,0,1,0]、[0,5,10,15,20,25,30])で初期化すると、次のようにq()が呼び出されます。q( 3)、q(12)、q(25)、q(15)、q(24)、q(8)の場合、の呼び出

  17. C++で配列を並べ替える

    整数の配列があるとします。それらを昇順で並べ替える必要があります。したがって、配列が[5,2,3,1]のような場合、結果は[1,2,3,5]になります。 これを解決するには、次の手順に従います- パーティションと呼ばれる1つのメソッドを作成します。これには、配列、低、高が必要です ピボットを設定:=低 低から高の範囲のiの場合– 1 nums [i]

  18. C++で配列を互いに素な間隔に分割する

    配列Aがあるとすると、-のように左右の2つのサブ配列に分割する必要があります。 左側のサブアレイのすべての要素は、右側のサブアレイのすべての要素以下です。 左右のサブアレイは空ではありません。 左側のサブアレイのサイズは可能な限り最小です。 このような分割後の残りの長さを見つける必要があります。そのようなパーティショニングが存在することが保証されています。 したがって、入力が[5,0,3,8,6]の場合、左の配列は[5,0,3]になり、右のサブ配列は[8,6]になるため、出力は3になります。 これを解決するには、次の手順に従います- n:=Aのサイズ、サイズn

  19. 文字列を単調に反転C++で増加

    0と1の文字列が指定されているとします。その文字列は、いくつかの「0」(おそらく0)と、それに続くいくつかの「1」(おそらく0)で構成されている場合、単調に増加します。文字列Sは「0」と「1」であり、「0」を「1」に、または「1」を「0」に反転させることができます。 Sを単調に増加させるためのフリップの最小数を見つけます。したがって、入力が「010110」の場合、出力は2になります。反転すると、「011111」または「000111」を取得できます。 これを解決するには、次の手順に従います- n:=Sのサイズ、flipCount:=0、oneCount:=0を設定 0からn–1の範

  20. C++で合計を使用するバイナリサブアレイ

    0と1の配列Aが与えられたとすると、合計Sを持つ空でないサブ配列の数を見つける必要がありますか?したがって、入力が[1,0,1,0,1]のようで、S =2の場合、サブ配列は[1,0,1,0,1]、[1,0 、1,0,1]、[1,0,1,0,1]、[1,0,1,0,1]。 これを解決するには、次の手順に従います- atMost()というメソッドを定義します。これは、配列Aと整数xを取ります。 x <0の場合、0を返し、j:=0を設定し、ret:=0を設定します。 0からAのサイズまでの範囲のiの場合 xをA[i]減らす x <0 xをA[j]増やし、jを1

Total 5992 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:153/300  20-コンピューター/Page Goto:1 147 148 149 150 151 152 153 154 155 156 157 158 159