-
与えられた数のエッジに対してランダムな有向非巡回グラフDACを生成するC++プログラム
このプログラムでは、指定されたエッジ「e」に対してランダムな有向非巡回グラフを生成します。このプログラムの時間計算量はO(e * v * e)です。 アルゴリズム Begin function GenerateRandomGraphs(), has ‘e’ as the number edges in the argument list. generate a connection between two random numbers, for sample a small case, limit the number
-
特定の固定次数シーケンスのグラフを生成するC++プログラム
これはC++プログラムであり、特定の次数シーケンスの無向グラフを表します。このアルゴリズムの時間計算量はO(v * v)であり、自己エッジと多重エッジは含まれていません。 アルゴリズム Begin To create the graph, Create the first loop to connect each vertex ‘i’. Create second nested loop to connect the vertex ‘i’ to every valid
-
インシデントリストを使用してグラフを表現するC++プログラム
このプログラムは、インシデントリストを使用してグラフを表し、このアルゴリズムの時間計算量はO(e)です。 アルゴリズム Begin Take the input of the number of vertex ‘v’ and edges ‘e’ and also take the input of ‘e’ pairs of vertexes of the given graph in e[][]. For each edge print the corresponding vertex involved
-
2D配列を使用してグラフを表現するC++プログラム
これは、2D配列を使用してグラフを表すC++プログラムです。 このアルゴリズムの時間計算量はO(v * v)です。 アルゴリズム Begin Take the input of the number of vertex ‘v’ and edges ‘e’. Assign memory to the graph[][] matrix. Take the input of ‘e’ pairs of vertexes of the given graph in graph[][]. For each p
-
グラフ行列の転置を見つけるためのC++プログラム
このプログラムでは、行列を取得し、行列の転置を出力します。転置行列では、行は列になり、その逆も同様です。 アルゴリズム Begin Take number of rows and columns of the matrix. Take The elements of the matrix and stored in the matrix ‘A’. The transpose matrix is found by exchanging the rows with columns and columns with rows. Print both t
-
C / C ++で条件演算子を使用するにはどうすればよいですか?
この条件演算子は、三項演算子とも呼ばれます。このオペレーターには3つのフェーズがあります。 Exp1 ? Exp2 : Exp3; ここで、Exp1、Exp2、およびExp3は式です。コロンの使用と配置に注意してください。 ?の値式は次のように決定されます。Exp1が評価されます。 trueの場合、Exp2が評価され、全体の値になりますか?表現。 Exp1がfalseの場合、Exp3が評価され、その値が式の値になります。 ?は3つのオペランドを必要とし、次の形式のif-elseステートメントを置き換えるために使用できるため、三項演算子と呼ばれます if(condition) {  
-
C、C ++、Java、およびC#でのインクリメント前後の演算子の動作
インクリメント前とインクリメント後の両方の演算子は、インクリメント操作として使用されます。 preインクリメント演算子は、式で使用する前に、ある変数の値をインクリメントするために使用されます。事前インクリメントでは、値が最初にインクリメントされ、次に式内で使用されます。 式がa=++bの場合; bが最初に5を保持し、次にaが6を保持します。bを1増やすため、aの値を設定します。 サンプルコード #include <iostream> using namespace std; main () { int a, b = 15; a = ++b; cout <&
-
C ++の代入演算子とコピーコンストラクターの違いは何ですか?
コピーコンストラクタと代入演算子は、あるオブジェクトを別のオブジェクトに初期化するために使用されます。それらの主な違いは、コピーコンストラクタが新しいオブジェクト用に個別のメモリブロックを作成することです。ただし、代入演算子は新しいメモリ空間を作成しません。参照変数を使用して、前のメモリブロックを指します。 コピーコンストラクタ(構文) classname (const classname &obj) { // body of constructor } 代入演算子(構文) classname Ob1, Ob2; Ob2 = Ob1; コピーコンストラクタと代入演算子の詳細な違
-
C ++の矢印演算子`->`とは何ですか?
ドットと矢印の演算子はどちらもC++で使用され、クラスまたは構造体のメンバーにアクセスします。これらはさまざまなシナリオで使用されます。 C ++では、class、struct、またはunionとして宣言された型は、「クラス型」と見なされます。したがって、以下は3つすべてを指します。 a.bは、bがオブジェクトのメンバー(またはオブジェクトへの参照)である場合にのみ使用されます。したがって、a.bの場合、willは常にクラスの実際のオブジェクト(またはオブジェクトへの参照)になります。 bisはポイントするオブジェクトのプロパティbにアクセスします。 をオーバーロードするクラスの
-
新しい演算子とC++の新しい演算子の違いは?
C ++では、新しいオブジェクトを作成するときに、メモリにメモリブロックを作成する必要があります。次に、コンストラクタを呼び出してメモリブロックを初期化します。 newキーワードを使用してメモリ要素を作成できます。この新しいオペレーターは、2つの連続したタスクを実行しています。ただし、演算子newは、メモリ空間を作成するだけです。 新しいキーワード new演算子は特殊なタイプの演算子であり、ヒープセクションでのメモリ割り当ての要求を示します。十分なメモリが利用可能な場合、新しいオペレータのみがメモリをポインタ変数に初期化します。通常のnewkeywordを使用してオブジェクトを作成すると
-
C++での型キャスト演算子
キャストは、あるデータ型を別のデータ型に強制的に変換する特別な演算子です。演算子として、acastは単項であり、他の単項演算子と同じ優先順位を持ちます。 ほとんどのC++コンパイラでサポートされている最も一般的なキャストは次のとおりです (type) expression ここで、typeは目的のデータ型です。 C ++でサポートされている他のキャスト演算子があり、それらは以下にリストされています- ? const_cast (expr) const_cast演算子は、キャスト内のconstやvolatileを明示的にオーバーライドするために使用されます。ターゲットタイプは、cons
-
C++でのコンストラクターと代入演算子のコピー
コピーコンストラクタと代入演算子は、あるオブジェクトを別のオブジェクトに初期化するために使用されます。それらの主な違いは、コピーコンストラクタが新しいオブジェクト用に個別のメモリブロックを作成することです。ただし、代入演算子は新しいメモリ空間を作成しません。参照変数を使用して、前のメモリブロックを指します。 コピーコンストラクタ(構文) classname (const classname &obj) { // body of constructor } 代入演算子(構文) classname Ob1, Ob2; Ob2 = Ob1; コピーコンストラクタと代入演算子の詳細な違
-
C++でオーバーロードできない演算子
などの一部の演算子をオーバーロードできます。ただし、initの演算子をオーバーロードすることはできません。一部の演算子はオーバーロードできません。これらの演算子は次のようなものです ? 「。」メンバーアクセスまたはドット演算子 ? 「? :”三項演算子または条件演算子 ? 「::」スコープ解決演算子 ? 「。*」メンバー演算子へのポインタ ? 「sizeof」オブジェクトサイズ演算子 ? 「typeid」オブジェクト型演算子 これらの演算子は、オーバーロードすると深刻なプログラミングの問題が発生するため、オーバーロードできません。 たとえば、sizeof演算子は、オブジェクトまたはデー
-
C ++でのストリーム挿入(<<)および抽出(>>)演算子のオーバーロード
およびストリーム挿入演算子<<を使用して、組み込みデータ型を入出力できます。ストリーム挿入演算子とストリーム抽出演算子をオーバーロードして、オブジェクトなどのユーザー定義型の入出力を実行することもできます。 ここでは、オブジェクトを作成せずに呼び出されるため、演算子オーバーロード関数をクラスのフレンドにすることが重要です。 と挿入演算子<<。について説明します。 サンプルコード #include <iostream> using namespace std; class Distance { private: int feet;
-
Unordered_multimap operator =in C ++
C++関数std::unordered_multimap ::operator =()は、古いコンテンツを置き換えて新しいコンテンツをunordered_multimapに割り当て、必要に応じてサイズを変更します。 以下は、std ::unordered_multimap ::operator =()関数formstd ::unordered_map()ヘッダーの宣言です。 C ++ 11(構文) unordered_multimap& operator=(const unordered_multimap& umm); パラメータ umm - Another unorder
-
C /C++のコンマ演算子
コンマ演算子の目的は、いくつかの式をつなぎ合わせることにあります。式の連結リストの値は、右端の式の値です。基本的に、コンマの効果は、一連の操作を実行させることです。 他の式の値は破棄されます。これは、右側の式がコンマ区切りの式全体の値になることを意味します。例 var = (count = 19, incr = 10, count+1); ここでは、最初にcountに値19を割り当て、incrに値10を割り当て、次にcountに1を加算し、最後にvarに右端の式の値count + 1(20)を割り当てます。コンマ演算子には代入演算子よりも優先順位が低くなります。 コンマ演算子の効果を確認
-
C++での演算子のオーバーロードの規則
C ++では、コンパイル時のポリモーフィズムをサポートします。コンパイル時のポリモーフィズムの例は、関数のオーバーロードと演算子のオーバーロードです。 演算子のオーバーロードにはいくつかのルールがあります。これらのルールは以下のようなものです オーバーロードできるのは組み込み演算子のみです。一部の演算子がC++に存在しない場合、それらをオーバーロードすることはできません。 演算子のアリティは変更できません 演算子の優先順位は同じままです。 オーバーロードされた演算子は、関数呼び出し演算子「()」以外のデフォルトパラメータを保持できません。 組み込みデータ型の演算
-
条件文を使用せずに「偶数」または「奇数」を出力するC++プログラム
このセクションでは、(<、 =、==)のような条件付きステートメントを使用せずに、数値が奇数か偶数かを確認する方法を説明します。 条件文を使用することで、奇数または偶数を簡単に確認できます。数値を2で割って、余りが0かどうかを確認できます。 0の場合、それは偶数です。それ以外の場合は、数値と1を使用してAND演算を実行できます。答えが0の場合は偶数、それ以外の場合は奇数です。 ここでは、条件ステートメントを使用できません。奇数または偶数をチェックするための2つの異なる方法が表示されます。 方法1 ここでは、文字列の配列を作成します。インデックス0の位置は「偶数」を保持し、インデックス1の
-
メモリ全体を埋めるC++プログラム
この記事では、単純なC++プログラムを作成してメモリ全体を埋める方法を説明します。ここでの論理は非常に単純です。動的メモリ割り当てを使用して新しい整数変数を作成します。いくつかの変数を何度も作成すると、プライマリメモリ全体がいっぱいになります。 C ++では、メモリスペースを動的に割り当てるために、新しいキーワードを使用できます。 new演算子の基本的な構文は次のとおりです。 pointer_var = new data_type メモリスペースの割り当てを解除するには、deleteキーワードを使用できます。構文はです delete pointer_var 注 このプログラムを実行した
-
乱数を生成するC++プログラム
C++を使用して乱数を生成する方法を見てみましょう。ここでは、0からある値の範囲のランダムな数値を生成しています。 (このプログラムでは、最大値は100です。) この操作を実行するために、srand()関数を使用しています。これはCライブラリにあります。関数voidsrand(unsigned int seed) 関数randで使用される乱数ジェネレーターをシードします 。 srand()の宣言は以下のようになります void srand(unsigned int seed) シードと呼ばれるパラメータを取ります。これは、疑似乱数ジェネレータアルゴリズムによってシードとして使用される整数