-
static const vs #define vs enum?
static const 「staticconst」は基本的にstatic(ストレージ指定子)とconst(型修飾子)の組み合わせです。 静的変数は、変数の有効期間と可視性/アクセシビリティを決定します。つまり、変数が静的変数として宣言されている場合、プログラムの実行中は常にメモリに残りますが、関数(変数が定義されている場所)が終了すると、通常の変数または自動変数は破棄されます。 constは型修飾子です。型修飾子は、型システムを介して値に関する追加情報を表すために使用されます。変数がconst型修飾子を使用して初期化されると、その値のそれ以上の変更は受け入れられません。 したがって
-
サイクルソート用のC++プログラム?
サイクルソートは、インプレースの不安定なソートアルゴリズムであり、他のインプレースソートアルゴリズムとは異なり、元の配列への書き込みの総数に関して理論的に最適な比較ソートです。これは、並べ替えられる順列をサイクルに分解でき、個別にローテーションして並べ替えられた結果を得ることができるという考えに基づいています。 他のほとんどすべての種類とは異なり、アイテムは、単にアクションの邪魔にならないようにするために、配列の他の場所に書き込まれることはありません。各値は、すでに正しい位置にある場合は0回書き込まれるか、正しい位置に1回書き込まれます。これは、インプレースソートの完了に必要な上書きの最小数
-
最初のn個の自然数の立方和のC++プログラム?
正の整数1、2、3、4...は自然数として知られています。 このプログラムは、ユーザーから正の整数を受け取り(ユーザーが入力したnを想定)、このプログラムは1 3の値を表示します。 +2 3 +3 3 + .... + n 3 。 Input: n = 3 Output: 36 説明 13+23+33 = 1 +8+27 = 36 このプログラムはuserから正の整数を取り(userがnを入力したと仮定します)、このプログラムは1 3の値を表示します。 +2 3 +3 3 + .... + n 3 。 例 #include <iostream> us
-
数値が2の累乗であるかどうかを調べるC++プログラム?
与えられた数が2の累乗であるかどうかを確認します。最初に、どの数が2の累乗であるかを確認します。このコードは、数値が奇数かどうかをチェックし、0または奇数になるまで同時に除算します。 0になると2の累乗になり、そうでない場合はそうではありません。 より良い選択は、番号のログを取ることです。整数の場合、nは2の累乗です。それ以外の場合はそうではありません。 2の累乗である数: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 ... 22 = 4 25 = 32 210 = 1024 Input: 8 Output: Number is pow
-
文字列からスペースを削除するC++プログラム?
プログラムは文字列を受け取り、その中のスペースを削除します。これは、スペースを節約したい場合に便利です。次のサンプルは、説明付きでどのように行われるかを示しています。 Input: Hello World Output: HelloWorld 説明 文字列または文からスペースを削除または削除するには、ユーザーに文字列の入力を求める必要があります。次に、スペースのチェックを開始します。スペースが見つかった場合は、スペースから最後の文字まで後ろに次の文字を配置し始め、次のスペースをチェックして、文字列に存在するすべてのスペースを削除します 例 #include <iostream>
-
C ++の可変キーワード?
ここでは、C++の可変キーワードとは何かを確認します。ミュータブルは、C++のストレージクラスの1つです。可変データメンバーはそのようなメンバーであり、いつでも変更できます。オブジェクトがconst型であっても。変数として1つのメンバーのみが必要で、定数として他のメンバーが必要な場合は、それらを可変にすることができます。アイデアを得るための1つの例を見てみましょう。 例 #include <iostream> using namespace std; class MyClass{ int x; mutable int y; &nb
-
Cplus plus vs Java vs Python?
ここでは、C ++、Java、Pythonの基本的な違いをいくつか見ていきます。最初にC++とJavaの違いがわかり、次にJavaとPythonの違いがわかります。 トピック C ++ Java メモリ管理 ポインタ、構造体、共用体、参照を使用します ポインタはサポートしていません。参照をサポートします。スレッド、インターフェースもサポートします ライブラリ 低レベルの機能ライブラリ さまざまな機能を備えた幅広いライブラリ 多重継承 通常のクラスを使用した多重継承をサポート インターフェースのみで多重継承をサポート(純粋な抽象クラス)
-
C ++の1つのスタックを使用して、リーフノードを左から右にバイナリツリーで印刷します。
プログラムは、バイナリツリーのリーフノードを左から右に出力する必要がありますが、課題は1つのスタックのみを使用することです push()関数を使用してバイナリツリーのノードを挿入し、pop()操作を使用してリーフノードを表示します。 リーフノードは、左右のポインタがNULLであるエンドノードです。これは、特定のノードが親ノードではないことを意味します。 例 Input : 12 21 32 41 59 33 70 Output : 41 59 33 70 スタックはLIFO構造であるデータ構造であり、トップポインターが最後に挿入された要素を指すため、リーフノードは最後にスタックに挿
-
C++プログラミングでレベル順トラバーサルを1行ずつ印刷します。
二分木が与えられた場合、関数はツリーのレベル順トラバーサルを行ごとに見つける必要があります。 レベル順トラバーサル:左ルート右。これは、最初にルートの値よりもノードの左の子を出力し、次に右の子に移動することを意味しますが、ここでは、左から開始して右で終了する行ごとに実行する必要があります。特定の二分木のノード。 上記の二分木は次の出力を生成します- Level 0: 3 Level 1: 2 1 Level 2: 10 20 30 アルゴリズム START Step 1 -> create a structure of a node as struct
-
C++プログラミングのバイナリツリーの各ノードのセットビット数を出力します。
バイナリツリーが与えられると、関数はノードに格納されているキーのバイナリ値を生成し、そのバイナリに相当するビット数(1)を返します。 例 次のようなキーを持つ二分木:10 3 211 140162100および146 キー 同等のバイナリ ビット(出力)を設定 10 1010 2 3 0011 2 211 11010011 5 140 10001100 3 162 10100010 3 100 1100100 3 146 10010010 3 ここでは、関数_
-
C++プログラミングのバイナリツリー内のすべてのノードの印刷レベル。
二分木が与えられた場合、タスクは、1からnまでのノードに格納されているすべてのキーに関連付けられたレベルを出力することです 上記のツリーでは、ノードは- 10 at level 1 3 and 211 at level 2 140, 162, 100 and 146 at level 3 キーが与えられると、プログラムはその特定のキーのレベルを出力する必要があります。 例 Input: 10 3 211 140 162 100 146 Output: level of 10 is 1 Level of 3 is 2 &
-
C++プログラミングでツリーの奇数レベルにノードを出力します。
二分木が与えられた場合、プログラムはツリーの奇数レベルでノードを出力する必要があり、二分木のレベルは1からnまで始まります。 何も言及されていないので、2つのアプローチのいずれか、つまり再帰または反復を実装できます。 再帰的アプローチを使用しているため、プログラムは、奇数レベルのノードをフェッチして返す関数を再帰的に呼び出します。 上記の二分木で- Nodes at level 1: 10 Nodes at level 2: 3 and 211 Nodes at level 3: 140, 162, 100 and 146 したがって、レベル1とレベル3のノードが出力されます。
-
C ++プログラミングで再帰を使用せずに、ルートからリーフへのパスを出力します。
二分木を考えると、プログラムはルートからリーフまでの複数のパスを見つける必要があります。つまり、すべてのパスを出力する必要がありますが、再帰を使用しないことが課題です。 再帰なしで実行することが制約であるため、ツリーを繰り返しトラバースします。したがって、これを実現するために、ルート要素を格納するSTLマップを使用できます。リーフノードがレベル順トラバーサルによって識別されると、ルートノードを指すマップポインターがあるため、ルートからリーフへのパスが出力されます。 上記のツリーには、ルートからリーフに到達するために生成できる複数のパスがあります- 10 -> 3 ->
-
C++プログラミングのバイナリツリーで最初の最短のルートからリーフへのパスを出力します。
二分木が与えられた場合、プログラムは、与えられた多くのパスの中から、ルートからリーフまでの最短パスを見つける必要があります。 ツリーを左から右にトラバースするため、ルートからリーフへの最短パスが複数ある場合、プログラムは最初にトラバースした最短パスをツリーの左側に出力します。 レベル順トラバーサルを使用して各レベルをトラバースするキューを使用できます。ルートからリーフまでの最短パスになるため、レベル数が最も少ないパスが出力されます。 上記のツリーでは、ルートからリーフへの複数のパスが 10 -> 3 (this one is the shortest path amongst
-
C++プログラミングのバイナリツリー内の任意の2つのノード間のパスを出力します。
個別のノードのバイナリツリーと、バイナリツリー内のパスを出力するバイナリツリーの2つのノードが与えられます。 例 −ノード140から211の間のパスを出力して、その出力が次のようになるようにします- Output: 140->3->10->211 アイデアは、ルートノードから2つのノードへのパスを見つけて、それらを2つの別々のベクトルまたは配列(path1とpath2など)に格納することです。 ここで、2つの異なるケースが発生します- 2つのノードがルートノードの異なるサブツリーにある場合 − 2つのノードが、1つが左に、もう1つが右のように異なるサブツリーにあ
-
C ++プログラミングでリーフノードになるので、バイナリツリーのノードを出力します。
二分木が与えられた場合、その葉のノードを印刷してから、それらの葉のノードを削除してから、ツリーにノードがなくなるまで繰り返す必要があります。 例 したがって、問題の出力は-になります。 6 7 9 13 143 421 アプローチ DFSを適用するアプローチを採用しています。 一時的な値を適用するには、すべての値にゼロを割り当ててから、すべてのノードに値 maximum(両方の子の値)+1を割り当てます。 。 アルゴリズム right =NULL、return(node)FUNCTION void postod(struct Node * node、v
-
Javaのcontinueステートメントとbreakステートメントの違い
プログラミングで知っているように、コードの実行は1行ずつ行われます。このフローを変更するために、C ++は、主に特定の行で特定のコードをスキップするために使用される2つのステートメントbreakとconinueを提供します。 。 続行と中断の重要な違いは次のとおりです。 Sr。いいえ。 キー ブレーク 続行 1 機能性 breakステートメントは、主に、breakが宣言されている場所で、while、do-while、for、switchステートメントなどの囲んでいるループを終了するために使用されます。 Continueステートメントは、continueが宣言されている場合
-
仮想関数と抽象クラスに関するC++インタビューの質問
仮想関数とは何ですか? 仮想関数は、基本クラスで定義されたときに定義がないメソッドです。このメソッドは親クラスでは黒のままで、子クラスで再定義されます。 抽象クラスとは何ですか? 抽象クラスは、その定義に抽象メンバーまたは少なくとも1つの純粋仮想関数を持つクラスです。抽象クラスをインスタンス化する(オブジェクトを作成する)ことはできません。継承することしかできず、メソッドを上書きすることができます。 仮想デストラクタはありますか? はい、これらはC ++では有効ですが、これらは子クラスではなく基本クラス用のデストラクタです。 すべての仮想関数をオーバーライドする必要がありますか? いい
-
ユーザー定義のデータ型としてキーを持つC++マップ
マップは、キーと値のペアの形式で情報を格納するデータ構造です。 C ++では、マップは STLで定義されます (標準テンプレートライブラリ)および順序付けられた形式でキーを保存します。 地図を定義する構文 − map<key_type , value_type> map_name; マップのこれら2つのデータのいずれかのデータ型は、任意のデータ型にすることができます。マップ内のキーまたは値のデータ型として、プライマリデータ型または派生データ型のいずれかを使用できます。 マップのキーのデータ型として、任意のデータ型を使用できます。ユーザー定義のデータ型でも、キーデータ型として
-
C++数学関数
数学計算は、mathまたはcmathに含まれている数学関数を使用してC++プログラミング言語で実行できます。 図書館。これらの数学関数は、複雑な数学計算を行うために定義されています。それぞれを一つずつ学びましょう- サイン sinメソッドは、引数として指定された角度のsinを度単位で計算するために使用されます。この関数は、引数として1つのdouble整数を受け入れ、sin(x°)の値であるdouble整数を返します。 double sin(double) 呼び出し構文 double x = sin(23.4); 例 #include <iostream> #includ