-
サイコロの出力シーケンスがC++で与えられているときに、サイコロを振ったプレーヤーの数を見つけます
文字列Sと数字Xがあるとします。サイコロを振るプレイヤーはM人います。 1人のプレーヤーは、X以外の数字を取得するまで、サイコロを振り続けます。ここで、文字列Sで、S[i]はサイコロを振ったときの数字を表します。 Mの値を見つける必要があります。1つの制約は、Sの最後の文字がXになることはないということです。たとえば、文字列が「3662123」でX =6の場合、出力は5になります。これは次のように説明できます。 − 最初のプレーヤーがロールして3を獲得しました 2番目のプレーヤーがロールし、6、6、2を獲得しました 3人目のプレーヤーがロールし、1を獲得しました 4人目のプレーヤーが
-
C ++のアレイディケイとは何ですか?どうすればそれを防ぐことができますか?
ここでは、ArrayDecayとは何かを確認します。配列のタイプと次元が失われることを、配列の減衰と呼びます。これは、ポインタまたは値によって配列を関数に渡すときに発生します。最初のアドレスは、ポインタである配列に送信されます。そのため、配列のサイズは元のサイズではありません。 C++コードを使用した配列減衰の1つの例を見てみましょう。 例 #include<iostream> using namespace std; void DisplayValue(int *p) { cout << "New size of array by
-
キーがC++マップまたはunordered_mapに存在するかどうかを確認します
C ++では、マップと順序付けされていないマップはハッシュテーブルです。それらはいくつかのキーとそれぞれのキー値を使用します。ここでは、特定のキーがハッシュテーブルに存在するかどうかを確認する方法を説明します。コードは以下のようになります- 例 #include<iostream> #include<map> using namespace std; string isPresent(map<string, int> m, string key) { if (m.find(key) == m.end())
-
C++で値を渡すことによってセットから要素を削除する方法
ここでは、引数として値を渡すことにより、セットから1つの要素を削除する方法を説明します。したがって、セットが{10、20、30、50、60、80、90、100、120、200、500}のようで、90を削除する場合は、{10、20、30、50、 60、80、100、120、200、500} セットでは、各要素は1回だけ発生し、配置されます。要素の値は、追加時に変更できないため、不変です。要素を追加または削除することはできますが。 このタスクを実行するには、erase()メソッドを使用できます。 例 #include<iostream> #include<set> u
-
C++STLのリストから最後の要素を削除する方法
C++に1つのSTLリストがあるとします。いくつかの要素があります。そのリストから最後の要素を削除する必要があります。したがって、要素が[10、41、54、20、23、69、84、75]のような場合、最後の要素は75です。リストから最後の要素を削除するC++コードが表示されます。 例 #include<iostream> #include<list> using namespace std; void display(list<int> my_list){ for (auto it = my_list.begin(); it !=
-
C++でマップから最後の要素を削除する方法
ここでは、C++STLマップから最後の要素を削除する方法を説明します。マップはハッシュテーブルベースのデータ型であり、キーと値があります。次のように、prev()メソッドを使用して最後の要素を取得し、erase()関数を使用して削除することができます。 例 #include<iostream> #include<map> using namespace std; int main() { map<string, int> my_map; my_map["first"] = 10; &nb
-
C++でセットから最後の要素を削除する方法
C++で1つのSTLセットがあるとします。いくつかの要素があります。そのセットから最後の要素を削除する必要があります。したがって、要素が[10、41、54、20、23、69、84、75]の場合、セットは[10 20 23 41 54 69 75 84]のようになり、最後の要素は84になります。セットから最後の要素を削除するC++コード。 例 #include<iostream> #include<set> using namespace std; void display(set<int> my_set){ for (auto it
-
C ++でSTLを使用して配列の最大要素を見つける方法は?
ここでは、最大要素を見つける方法を説明します。したがって、配列が[12、45、74、32、66、96、21、32、27]の場合、max要素は96です。algorithm.hヘッダーファイルにあるmax_element()関数を使用して、最大要素。 例 #include<iostream> #include<algorithm> using namespace std; int main() { int arr[] = {12, 45, 74, 32, 66, 96, 21, 32, 27}; int n = sizeo
-
C ++でSTLを使用して配列の最小要素と最大要素を見つける方法は?
ここでは、配列から最大要素と最小要素を見つける方法を説明します。したがって、配列が[12、45、74、32、66、96、21、32、27]の場合、max要素は96、min要素は12です。max_element()関数とmin_element()を使用できます。関数。algorithm.hヘッダーファイルに存在し、それぞれ最大要素と最小要素を取得します。 例 #include<iostream> #include<algorithm> using namespace std; int main() { int arr[] = {12, 45, 7
-
C ++でSTLを使用して配列の要素の合計を見つける方法は?
ここでは、配列のすべての要素の合計を見つける方法を説明します。したがって、配列が[12、45、74、32、66、96、21、32、27]の場合、合計は405になります。したがって、ここでは、accumulate()関数を使用してこの問題を解決する必要があります。この関数の説明は、ヘッダーファイル内にあります。 例 #include<iostream> #include<numeric> using namespace std; int main() { int arr[] = {12, 45, 74, 32, 66, 96, 21, 32, 2
-
C ++ STLリストに要素を挿入する方法は?
C++に1つのSTLリストがあるとします。いくつかの要素があります。リストに新しい要素を挿入する必要があります。最後、最初、または任意の位置に挿入できます。理解を深めるために、1つのコードを見てみましょう。最初に挿入するにはpush_front()を使用し、最後に挿入するにはpush_end()を使用し、任意の位置に挿入するにはいくつかの操作を使用する必要があります。 1つのイテレータを初期化し、そのイテレータを正しい位置に移動してから、insert()メソッドを使用してその場所に挿入する必要があります。 例 #include<iostream> #include<list&
-
C ++でSTLを使用してアレイを反転する方法は?
ここでは、C++でSTL関数を使用して配列を反転する方法を説明します。したがって、配列がA =[10、20、30、40、50、60]のような場合、出力はB =[60、50、40、30、20、10]になります。逆にするために、ヘッダーファイルにreverse()と呼ばれる1つの関数があります。コードは以下のようになります- 例 #include <iostream> #include <algorithm> using namespace std; int main() { int arr[] = {10, 20, 30, 40, 50, 60}
-
C ++でSTLを使用して配列を並べ替える方法は?
ここでは、C++でSTL関数を使用して配列をソートする方法を説明します。したがって、配列がA =[52、14、85、63、99、54、21]のような場合、出力は[14 21 52 54 638599]になります。ソートするために、ヘッダーファイルにsort()と呼ばれる1つの関数があります。コードは以下のようになります- 例 #include <iostream> #include <algorithm> using namespace std; int main() { int arr[] = {52, 14, 85, 63, 99, 54,
-
C ++セットを逆方向にトラバースするにはどうすればよいですか?
セットがあるとすると、セットを逆方向にトラバースする必要があります。したがって、セットがS =[10、15、26、30、35、40、48、87、98]のような場合、出力は次のようになります。98 87 48 40 35 30 26 15 10. 逆の順序でトラバースするには、reverse_iteratorを使用できます。ここでは、rbegin()関数とrend()関数を使用して、逆イテレータの開始と終了を取得します。 例 #include <iostream> #include <set> using namespace std; int main() { &nb
-
入力に空白行がある場合にC++でgetline()を使用するにはどうすればよいですか?
C ++では、getline()関数を使用してストリームから行を読み取ります。エンターボタンが押されるか、ユーザー指定の区切り文字が指定されるまで入力を受け取ります。ここでは、getline()関数を使用して改行文字を入力として受け取る方法を説明します。アイデアを得るために、次の実装を見てみましょう。 例 #include<iostream> using namespace std; int main() { string str; int term = 4; while (term--) {  
-
C++のクロノ
このセクションでは、C++のChronoライブラリとは何かを説明します。このChronoライブラリは、日付と時刻に使用されます。タイマーと時計はシステムによって異なります。したがって、精度よりも時間を改善したい場合は、このライブラリを使用できます。 このライブラリでは、期間と時点を分離することにより、精度に中立な概念を提供します。 期間オブジェクトは、分、2時間、または10分のようなカウントによって期間を表すために使用されます。たとえば、30秒は、1秒単位の30ティックで構成される期間で表されます。 例 #include <iostream> #include <chro
-
C++の関係演算子を使用した文字列オブジェクトの比較
ここでは、C++で2つの文字列を比較する方法を説明します。 C++には文字列クラスがあります。また、文字列を比較するための標準ライブラリのcompare()関数もあります。ただし、ここでは、==、!=、、=などの条件演算子を使用します。これらの演算子は、文字列を文字ごとにチェックします。より良いアイデアを得るためにコードを見てみましょう。 例 #include<iostream> using namespace std; void compareStrings(string s1, string s2) { if (s1 != s2) &nb
-
C++の配列で極小値を見つける
n個の要素を持つ配列Aがあるとします。配列の極小値を見つける必要があります。配列Aでは、要素A [x]は、隣接する要素の両方以下の場合、極小値であると言われます。コーナー要素の場合、1つの隣接要素のみが考慮されます。また、利用可能な極小値が複数ある場合は、1つだけを返します。たとえば、配列が[9、6、3、14、5、7、4]の場合、極小値は3、5、4になる可能性があるため、このアルゴリズムはそのうちの1つのみを返すことができます。 この問題を解決するために、二分探索のようなロジックに従います。中央の要素が左右の要素よりも小さい場合は中央に戻ります。そうでない場合は、左側の要素よりも大きい場合は
-
与えられた式の結果がC++で正確に2Kになるように、2Nの数の順列を見つけます
2つの整数NとKがあるとします。次の方程式が満たされるように、2N個の自然数の最初の順列を見つける必要があります。 $$ \ displaystyle \ sum \ Limits_ {i =1} ^ N \ lvert A_ {2i-1} -A_ {2i} \ rvert + \ lvert \ displaystyle \ sum \ Limits_ {i =1} ^ N A_ {2i-1 }-A_ {2i} \ rvert =2K $$ Kの値はN以下である必要があります。たとえば、N=4およびK=1の場合、出力は2 1 3 4になります。指定された式の結果は(| 2 – 1 |
-
C++で指定された長さの合成数の範囲を検索します
番号nがあるとします。正の整数の範囲を見つける必要があります。範囲内のすべての数値は合成数であり、範囲の長さはnです。複数の範囲がある場合は、任意の1つの範囲を印刷します。合成数は、1とそれ自体以外の約数が少なくとも1つある数です。 範囲の長さがnであるため、最初の数値がaの場合、他の数値はa + 1、a + 2、…、a + n – 1であり、すべて合成数である必要があります。 x!(xは正の整数)を見ると、xの因数は2、3、4、…、p – 1です。したがって、p! + iには係数iがあるので、p! +私は複合でなければなりません。 p! + 2、p! + 3、…p! + p – 1は、すべて