-
C++プログラムのバイナリツリーでの削除
このチュートリアルでは、バイナリツリーのノードを削除する方法を学習します。 二分木のノードは、二分探索木のような順序には従いません。では、二分木でノードを削除した後にノードを配置するにはどうすればよいですか? さて、ツリーの最も深いノードを削除ノードに置き換えます。次に、ノードから最も深いノードを削除します。 問題を解決するための手順を見てみましょう。 バイナリノード構造体でツリーを初期化します。 ツリーのノードを出力する関数(preorder、order、postorder)を記述します。 ノードを削除する関数を記述します。 キューを初期化して、ツリーを反復処理
-
バイナリ文字列の「01」または「10」を削除して、C++プログラムの「01」または「10」から解放します。
このチュートリアルでは、ペアの総数(01または10)を見つけて、ペア(01および10)からバイナリ文字列を解放するプログラムを作成します。例を見てみましょう。 入力 − 101010001 出力 − 4 上記の例では、ペア(01と10)からバイナリ文字列を解放するために、合計4つのペアを削除する必要があります。 すべてのペアを削除した後の結果の文字列は0 。 すべての01を削除する必要があります および10 バイナリ文字列からのペア。したがって、削除されるペアの総数は、 count(1)の最小値です。 およびcount(0) 。 問題を解決するための手順を見てみましょう。
-
C++プログラムの1つのトラバーサルにおける二分木の密度
このチュートリアルでは、1回の走査で二分木の密度を見つける方法を学習します。 二分木の密度は、木のサイズを木の高さで割って得られます。 二分木のサイズは、特定の二分木に存在するノードの総数です。 二分木の高さは、ルートノードからのリーフノードの最大の深さです。 問題を解決するための手順を見てみましょう。 二分木ダミーデータを初期化します。 木のサイズと高さを見つけます。 木の高さを再帰的に数えます。 左側のノードツリーの高さが右側のノードツリーの高さよりも大きい場合は、左側のノードツリーの高さを返します。それ以外の場合は、両方に1を加算して、右側のノードツリーの
-
デムロ数、C++プログラムの11...1の平方
このチュートリアルでは、demlo番号について学習します。 デムロ番号は、 1、11、111、1111などの数の2乗です。 1 2 3 4 5 ... n-2 n-1 n n-1 n-2 ... 5 4 3 2 1 の形式であるため、デムロ番号を簡単に見つけることができます。 。 ここでは、1つしかない番号が与えられています。そして、その数のdemlo番号を見つける必要があります。例を見てみましょう。 入力 − 1111111 出力 − 1234567654321 問題を解決するための手順を見てみましょう。 数値を文字列形式で初期化します。 空の文字列を初期化して、
-
C++プログラムでのN-Aryツリーの深さ
このチュートリアルでは、n-aryツリーの深さを見つける方法を学習します。 n-ary ツリーは、ツリーの各ノードが n以下のツリーです。 子ノード。 n-aryツリーの深さを見つける必要があります。ベクトルを使用して、ツリー内の各ノードの子を格納します。 問題を解決するための手順を見てみましょう。 ダミーデータでツリーを初期化します。 n-aryツリーの深さを見つけるための再帰関数を記述します。 ツリーの最大深度を格納する変数を初期化します。 各ノードの子を繰り返し処理します。 最大深度は、現在の最大深度とノードの子の深度の最大値です。 最大深度
-
C++プログラムのバイナリツリーで最も深い奇数レベルノードの深さ
このチュートリアルでは、二分木で最も深い奇数レベルのノードを見つける方法を学習します。 これは、二分木の深さを見つけることに似ています。ここで、もう1つの条件、つまり、現在のレベルが奇数であるかどうかを確認する必要があります。 問題を解決するための手順を見てみましょう。 ダミーデータで二分木を初期化します。 二分木で最も深い奇数レベルのノードを見つけるための再帰関数を記述します。 現在のノードがリーフノードであり、レベルが奇数の場合は、現在のレベルを返します。 それ以外の場合は、再帰関数呼び出しを使用して左ノードと右ノードの最大値を返します。 最も深い奇数
-
C++プログラムの例を含むDeserium番号
このチュートリアルでは、例を挙げてデセリウムの数について学習します。 pow(digit、digitsCount)の合計が 与えられた数と等しいものはデセリウム番号と呼ばれます 。 指定された番号がデセリウム番号であるかどうかを確認する手順を見てみましょう かどうか。 番号を初期化します。 数字の桁数を見つけます。 合計を格納する変数を初期化します。 数が0未満になるまで繰り返します。 数字を10で割り込んで、最後の桁を取得します。 pow(digit、digitsCount)を追加します 合計に。 合計が数と等しい場合、それはデセリウム数
-
C++プログラムの行列式
このチュートリアルでは、行列式を見つける方法を学習します。 行列式を見つける手順を見てみましょう。 マトリックスを初期化します。 行列式を見つける関数を記述します。 行列のサイズが1または2の場合、行列の行列式を見つけます。簡単なことです。 行列式、部分行列、符号の変数を初期化します。 1から行列Nのサイズまで繰り返します。 現在の行列要素の部分行列を見つけます。 現在の要素の行と列にないすべての要素 現在の要素とその補因子の積を行列式に追加します。 記号を変更します。 行列式を印刷します。 例 コードを見てみましょう
-
C++プログラムの正多角形上の3人目の位置を決定します
このチュートリアルでは、正多角形上の第三者の位置を見つける方法を学習します。 正多角形を与えました。そして、すでに2つの異なる点に2人の人がいます。私たちの仕事は、最初の2人と3人目の距離が最小になるように、3人目の人物を配置するための3番目のポイントを見つけることです。 問題を解決するための手順を見てみましょう。 Nと2つのポイントAとBを初期化します。 第三者の位置と、位置を見つけるための最小合計を初期化します。 1からNまで繰り返します。 現在の位置がAまたはBの場合は、スキップします。 現在の位置とA、Bの絶対差の合計を求めます。 最小合計と比較
-
C++プログラムの正七角形の対角線
このチュートリアルでは、正七角形の対角線を見つける方法を学習します。 与えられた辺を使用して、正七角形の対角線の長さを見つける必要があります。正七角形の対角線の長さは1.802* s ここで、sは七角形の側面です。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; float heptagonDiagonal(float s) { if (s < 0) { return -1; }  
-
C++プログラムの正六角形の対角線
このチュートリアルでは、正六角形の対角線を見つける方法を学びます。 与えられた辺を使用して、正六角形の対角線の長さを見つける必要があります。正六角形の対角線の長さは1.73* s ここで、sは六角形の辺です。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; float hexagonDiagonal(float s) { if (s < 0) { return -1; } ret
-
C++プログラムの正五角形の対角線
このチュートリアルでは、正五角形の対角線を見つける方法を学習します。 与えられた辺を使用して、正五角形の対角線の長さを見つける必要があります。正五角形の対角線の長さは1.22* s ここで、sは国防総省の側面です。 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; float pentagonDiagonal(float s) { if (s < 0) { return -1; }  
-
C++プログラムの対角的に優勢な行列
このチュートリアルでは、与えられた行列が対角的に優勢であるかどうかを見つけるのに役立つプログラムを作成します。 対角要素以外の行列の要素の合計が対角行列よりも小さい場合、その行列は対角優勢行列と呼ばれます。例を見てみましょう。 421 352 247 上記の行列は対角的に支配的な行列です。なぜなら 4 > 2 + 1 5 ≥ 3 + 2 7 > 4 + 2 すべての対角要素は、同じ行の非対角要素の合計以上です。 問題を解決するための手順を見てみましょう。 行列の行と列を繰り返します。 非対角要素の合計を求めます。 非対角要素の合計を対角要素と比較しま
-
C++プログラムでのn個の質問とネガティブマーキングの異なる可能なマーク
このチュートリアルでは、正と負のマークが付いた、指定されたn個の質問に対して異なる可能性のあるマークを見つけるプログラムを作成します。 10個の質問があり、それぞれに正解の場合は2マーク、否定回答の場合は-1マークがあるとします。私たちの目的は、学生が試験で採点できるすべての可能な方法を見つけることです。 問題を解決するための手順を見てみましょう。 質問の数を初期化し、正解の場合は正のマーク、間違った答えの場合は負のマークを付けます。 セットを初期化して、可能なマークを保存します。 考えられるすべての方法について、0からいくつかの質問までの2つの内部ループを記述します。
-
C++プログラムで指定された文字列で開始および終了する文字列内のさまざまなサブ文字列
このチュートリアルでは、指定された文字列で開始および終了する部分文字列の総数を見つけるプログラムを作成します。 1つの文字列と2つの部分文字列が与えられます。指定された2つの部分文字列で開始および終了するさまざまな部分文字列数を見つける必要があります。例を見てみましょう。 入力 str = "getmesomecoffee" start = "m" end = "e" 出力 6 指定された文字列には、合計6つの異なるサブ文字列があります。それらは私、mesome、mesomemecoffe、mesomemecoffee、m
-
C ++プログラムで指定された大きな整数のデジタルルート(繰り返されるデジタル合計)
このチュートリアルでは、特定の数値の数字根を見つける方法を学習します。 数字根は、桁数の合計です(桁の合計が1桁になるまで)。 文字列形式の整数が与えられます。そして、合計が1桁になるまで、桁の合計を繰り返し見つける必要があります。 問題を解決するための手順を見てみましょう。 文字列形式で整数を初期化します。 数値を繰り返し、各桁を合計変数に追加します。 合計が0の場合は、0を出力します。 それ以外の場合、合計が9で割り切れる場合、答えは9です。 それ以外の場合、答えは9を法とする合計です。 例 コードを見てみましょう。 #include<bit
-
C++プログラムの新しい配列への2つの配列の要素ごとの合計の桁
このチュートリアルでは、2つの配列要素の太陽を見つけて、それらを別々の配列に格納するプログラムを作成します。 2つの配列を指定したので、2つの配列から対応するインデックス要素を追加する必要があります。合計が1桁でない場合は、数値から桁を抽出して、新しい配列に格納します。 例を見てみましょう。 入力 arr_one = {1, 2, 32, 4, 5} arr_two = {1, 52, 3} 出力 2 5 4 3 5 4 5 問題を解決するための手順を見てみましょう。 ダミーデータを使用して2つのアレイを初期化します。 新しい配列のサイズがわからないため、ベクトルを使
-
C++プログラムで繰り返しなしですべてのボールを配布する
このチュートリアルでは、誰も傷つけずにk人の生徒にn個のボールを配布する方法を学びます。 アイデアは単純です。生徒に配布する必要のあるさまざまな色のボールがn個あります。生徒に同じ色のボールを複数与える必要はありません。生徒が同じ色のボールを複数入手できる場合は、配布は行わないでください。 例を見てみましょう。 入力 n = 10 k = 5 ballsColors = "rrrgbrbgbr" 出力 Yes 生徒数(k)を超える色はありません。したがって、同じ色のボールを複数受け取る生徒はいないでしょう。 問題を解決するための手順を見てみましょう。
-
C++プログラムでkが異なる2つの部分に大きな数を分割します
このチュートリアルでは、数値をkの差で2つの部分に分割するプログラムを作成します。 例を見てみましょう。 入力 n = 100 k = 30 出力 65 35 ここでは、問題に飛び込む前に、数学を少し理解する必要があります。見てみましょう。 a + b=nとa--b=kがあります。 2つの方程式を追加すると、次のようになります a = (n + k)/2 b = n - a 例 それでおしまい。 nとkがあります。そして、それ以上のものは何もありません。コードを見てみましょう #include <bits/stdc++.h> using namespace std;
-
C++プログラムで数値を2つの部分に分割する
このチュートリアルでは、指定された数を2つの部分に分割するプログラムを作成します 解決するのは簡単な問題です。与えられた数をダイビングすることで数を得ることができます。そして、合計から結果を引くことで、2番目の数値を取得できます。 指定された番号がnの場合 、2つの数字は a = n / 2 b = n - a 例 コードを見てみましょう。 #include <bits/stdc++.h> using namespace std; void divideTheNumber(int n) { int a = n / 2; in