-
C++でのコンストラクター委任
ここでは、コンストラクターの委任とは何ですか?コンストラクターが同じクラスの他のコンストラクターを呼び出す場合、それはコンストラクター委任と呼ばれます。この機能はC++11から提供されています。 次のプログラムを見て、このコードの難しさを分析してみましょう。 例 #include <iostream> using namespace std; class MyClass { int a, b, c; public: MyClass(){ a = b = c =
-
C ++のfmax()およびfmin()
このセクションでは、C ++でfmax()とfmin()を変換する方法を説明します。 fmax()とfmin()はcmathヘッダーファイルにあります。 この関数は、float型またはdoubleまたはlong doubleの2つの値を取り、それぞれfmax()およびfmin()を使用して最大値または最小値を返します。 floatとdoubleを比較したい場合や、long doubleとfloatを比較したい場合など、引数の型が異なる場合、関数はその値に暗黙的に型キャストし、対応する値を返します。 例 #include <cmath> #include <iomanip&
-
C ++のfdim()
bの場合、a –bを返します。それ以外の場合は0を返します。 例 #include <cmath> #include <iostream> using namespace std; main() { cout << "fdim of (5.0, 2.0) is " << fdim(5.0, 2.0) << endl; //positive difference cout << "fdim of (2.0, 5.0) is " <
-
C ++のlrint()およびllrint()
このセクションでは、C ++でのlrint()とllring()について説明します。まず、lrint()について説明しましょう。 =を使用して決定されます。 このlrint()関数は、入力パラメーターとしてdouble、float、またはinteger値を取り、小数部分を整数部分に丸めることによってlongint値を返します。 例 #include <cfenv> #include <cmath> #include <iostream> using namespace std; main() { int x = 40; &nbs
-
cinの戻り値を使用して、C++で不明な数の入力を取得します
プログラムで可変数の入力が必要になる場合があります。このプログラムでは、cinを使用して可変数の入力を取得する方法を説明します。 入力を使用することです。値が数値でない場合、これはfalseを返します。 例 #include <iostream> using namespace std; main() { int input; int n = 0; cout << "Enter numbers. (To stop enter any character): ";  
-
CおよびC++で「長い」データ型の必要性はありますか?
CまたはC++には、整数型データに使用される4つの異なるデータ型があります。これらの4つのデータ型は、short、int、long、およびlonglongです。これらのデータ型はそれぞれ、異なるメモリスペースを使用します。サイズは、アーキテクチャやオペレーティングシステムによって異なります。 intは4バイトかかる場合もあれば、2バイトかかる場合もあります。これはコンパイラーでも起こります。したがって、クロスコンパイラを使用できます。 クロスコンパイラは基本的にコンパイラであり、現在のプラットフォーム以外のプラットフォーム用にコンパイルすることができます。 したがって、次のコードを32ビッ
-
CおよびC++で64ビットgccで32ビットプログラムをコンパイルする方法
現在、コンパイラにはデフォルトの64ビットバージョンが付属しています。場合によっては、コードをコンパイルして32ビットシステムに実行する必要があります。その際、この機能を使用する必要があります。 最初に、gccコンパイラの現在のターゲットバージョンを確認する必要があります。これを確認するには、このコマンドを入力する必要があります。 gcc –v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper OFFLOAD_TARGET_NA
-
与えられた数の一意の因数分解を実行するC++プログラム
これは、パーティションを追加すると整数になるように、特定の整数のすべての一意の因数分解を取得するC++プログラムです。このプログラムでは、正の整数nが与えられ、nを正の整数の合計として表すためのすべての可能な一意の方法を生成します。 アルゴリズム Begin function displayAllUniqueParts(int m): 1) Set Index of last element k in a partition to 0 2) Initialize first partition as number itself, p[k]=m
-
ランダムエッジ生成を使用してランダムグラフを作成するC++プログラム
このプログラムでは、ランダムな頂点とエッジに対してランダムなグラフが生成されます。このプログラムの時間計算量はO(v * e)です。ここで、vは頂点の数、eはエッジの数です。 アルゴリズム Begin Develop a function GenRandomGraphs(), with ‘e’ as the number of edges and ‘v’ as the number of vertexes, in the argument list. A
-
特定のグラフがC++を使用したDFSを使用した2部グラフであるかどうかを確認します
2部グラフは、グラフの彩色が2色のみを使用して可能である場合にグラフです。セット内の頂点は同じ色で色付けされます。これは、グラフが2部グラフであるかどうかをDFSを使用してチェックするC++プログラムです。 アルゴリズム Begin An array color[] is used to stores 0 or 1 for every node which denotes opposite colors. Call function DFS from any node. If the nod
-
グラフの推移閉包を見つけるためのC++プログラム
有向グラフが指定されている場合は、指定されたグラフのすべての頂点ペア(i、j)について、頂点jが別の頂点iから到達可能かどうかを判断します。到達可能とは、頂点iからjへのパスがあることを意味します。この到達可能性マトリックスは、グラフの推移閉包と呼ばれます。 Warshallアルゴリズムは、特定のグラフGの推移閉包を見つけるために一般的に使用されます。これは、このアルゴリズムを実装するためのC++プログラムです。 アルゴリズム Begin 1. Take maximum number of nodes as input. 2. For Lab
-
C ++で文字列をchar配列に変換する方法は?
これは、C++で文字列をchar配列に変換するC++プログラムです。これは複数の異なる方法で行うことができます タイプ1 アルゴリズム Begin Assign a string value to a char array variable m. Define and string variable str For i = 0 to sizeof(m) Copy character by character from m to str.  
-
与えられた二分木がAVL木であるかどうかをチェックするC++プログラム
AVLツリーは自己平衡二分探索木であり、左右のサブツリーの高さの差がすべてのノードで複数になることはありません。 これは、特定のバイナリツリーがAVLツリーであるかどうかを確認するためのC++プログラムです。 アルゴリズム Begin function AVL() returns true if the given tree is AVL otherwise false. if(root == NULL) return 1 leftheight = height(root->left) &nb
-
C ++に仮想コンストラクターがないのはなぜですか?
仮想メカニズムは、派生クラスオブジェクトへの基本クラスポインタがある場合にのみ機能します。 C ++では、コンストラクターを仮想にすることはできません。これは、クラスのコンストラクターが実行されるときに、メモリに仮想テーブルがないため、仮想ポインターがまだ定義されていないことを意味します。したがって、コンストラクターは常に非仮想である必要があります。 ただし、仮想デストラクタは可能です。これが例です 例 #include<iostream> using namespace std; class b { public: b()
-
仮想関数はC++でどのように実装されていますか?
C ++の仮想関数は、派生クラスオブジェクトの種類を知らなくても、基本クラスポインターのリストを作成し、任意の派生クラスのメソッドを呼び出すために使用されていました。仮想関数は、実行時に遅く解決されます。 これがC++プログラムでの仮想関数の実装です- 例 #include <iostream> using namespace std; class B { public: virtual void s() { //virtual function &nbs
-
直接アドレス指定テーブルを実装するC++プログラム
これは、直接アドレス指定テーブルを実装するためのC++プログラムです。直接アドレス指定テーブルは、各要素にユニバーサルセットS ={0、1 、.から引き出されたキーがある場合に使用されます。 。 。 、n − 1}ここで、nは大きすぎず、各キーは一意です。迅速な挿入、検索、削除操作を容易にします。 関数と擬似コード Begin insert(): Take the table variables word and key as argument. T[ x.key ] = x, whe
-
素集合データ構造を実装するC++プログラム
互いに素なセットは、基本的に、複数のセットにアイテムを含めることができないセットのグループです。サブセットでのユニオンおよび検索操作をサポートします。 Find(): これは、特定の要素がどのサブセットに含まれているかを検索し、その特定のセットの代表を返すために使用されます。 Union(): 2つの異なるサブセットを1つのサブセットにマージし、1つのセットの代表が他のセットの代表になります。 関数と擬似コード Begin Assume k is the element makeset(k):
-
CoppersmithFreivaldのアルゴリズムを実装するためのC++プログラム
Freivaldsのアルゴリズムは、O(kn ^ 2)で2 ^ -k未満の失敗の確率で、選択されたk値に対して行列が等しいかどうかを判断します。 行列の乗算を検証するために使用されます。 アルゴリズム Begin Take matrix1(n*n), matrix2(n*n), matrix3(n*n) as input. // According to the algorithm we have to verify: // matrix1 × matrix2 = matrix3. &nb
-
ガウスの消去法を実装するためのC++プログラム
これは、ガウスの消去法を実装するためのC++プログラムです。連立方程式の線形システムを分析するために使用されます。これは主に、解が直接得られるように、行演算によって連立方程式を対角行列形式に縮小することに焦点を当てています。 アルゴリズム Begin n = size of the input matrix To find the elements of the diagonal matrix: Make nested for loops j = 0 to n and i = 0 to n
-
ガウスザイデル法を実装するC++プログラム
ガウスザイデル法は、反復法で線形連立方程式を解くために使用されます。これは、ガウスザイデル法を実装するためのC++プログラムです。 アルゴリズム Begin Take the dimensions of the matrix p and its elements as input. Take the initials values of x and no of iteration q as input. While q>0 Make a for loop i = 0 t