-
リンクリストを使用してグラフを表現するC++プログラム
グラフの接続行列は、メモリに保存するグラフの別の表現です。この行列は正方行列ではありません。接続行列の次数はVxEです。ここで、Vは頂点の数、Eはグラフのエッジの数です。 この行列の各行に頂点を配置し、各列にエッジを配置します。エッジe{u、v}のこの表現では、列eの場所uとvに対して1でマークされます。 隣接行列表現の複雑さ 接続行列表現は、計算中にO(V x E)のスペースを取ります。完全グラフの場合、エッジの数はV(V-1)/2になります。したがって、接続行列はメモリ内でより大きなスペースを取ります。 入力: 出力: アルゴリズム add_edge(ad
-
BFSを使用して無向グラフの接続性をチェックするC++プログラム
グラフの接続性を確認するために、トラバーサルアルゴリズムを使用してすべてのノードをトラバースしようとします。トラバーサルの完了後、アクセスされていないノードがある場合、グラフは接続されていません。 無向グラフの場合、1つのノードを選択し、そこからトラバースします。 この場合、トラバーサルアルゴリズムは再帰的なBFSトラバーサルです。 入力 −グラフの隣接行列 0 1 1 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 1 1 0
-
BFSを使用して有向グラフの接続性をチェックするC++プログラム
グラフの接続性を確認するために、トラバーサルアルゴリズムを使用してすべてのノードをトラバースしようとします。トラバーサルの完了後、アクセスされていないノードがある場合、グラフは接続されていません。 有向グラフの場合、接続を確認するためにすべてのノードからトラバースを開始します。 1つのエッジに外側のエッジのみがあり、内側のエッジがない場合があるため、ノードは他の開始ノードからアクセスされません。 この場合、トラバーサルアルゴリズムは再帰的なBFSトラバーサルです。 入力 −グラフの隣接行列 0 1 0 0 0 0 0 1 0 0
-
DFSを使用して無向グラフの接続性をチェックするC++プログラム
グラフの接続性を確認するために、トラバーサルアルゴリズムを使用してすべてのノードをトラバースしようとします。トラバーサルの完了後、アクセスされていないノードがある場合、グラフは接続されていません。 無向グラフの場合、1つのノードを選択し、そこからトラバースします。 この場合、トラバーサルアルゴリズムは再帰的なDFSトラバーサルです。 入力 −グラフの隣接行列 0 1 1 0 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0
-
オンライン文字列照合のためのWagnerおよびFisherアルゴリズムを実装するC++プログラム
このセクションでは、WagnerおよびFisherアルゴリズムを使用して2つの文字列を比較する方法を説明します。このアルゴリズムを使用すると、これらの文字列に一致するために必要な最小限の変更の数を見つけることができます。 これは動的計画法のアプローチです。ここでは、2本の弦からのレーベンシュタイン距離を測定します。 Input: Two strings “Support” & “Suppose” Output: Minimum number of required changes: 2 アルゴリズム Wagnwe_Fisher(str
-
文字列ライブラリを使用して文字列照合を実行するC++プログラム
ここでは、文字列ライブラリ関数を使用してC++で文字列を照合する方法を説明します。ここでは、find()操作を使用して、サブストリングのオカレンスをメインストリングに取得しています。このfind()メソッドは、文字列が見つかった最初の場所を返します。ここでは、このfind()関数を複数回使用して、すべての一致を取得しています。 アイテムが見つかった場合、この関数は位置を返します。ただし、見つからない場合は、string::nposを返します。 Input: The main string “aabbabababbbaabb” and substring “
-
C++での大文字と小文字を区別しない文字列の比較
C ++では、標準ライブラリに文字列があります。このプログラムでは、2つの文字列が同一であるかどうかを確認する方法を説明します。この場合、ケースは無視されます。 ここでのロジックは単純です。文字列全体を小文字または大文字の文字列に変換し、それらを比較して、結果を返します。 アルゴリズムライブラリを使用して、文字列を小文字の文字列に変換する変換関数を取得しました。 Input: Two strings “Hello WORLD” and “heLLO worLD” Output: Strings are same アルゴリズム Step 1:
-
文字列にC++のサブ文字列が含まれているかどうかを確認します
ここでは、文字列ライブラリ関数を使用してC++で文字列を照合する方法を説明します。ここでは、find()操作を使用して、サブストリングのオカレンスをメインストリングに取得しています。このfind()メソッドは、文字列が見つかった最初の場所を返します。ここでは、このfind()関数を複数回使用して、すべての一致を取得しています。 アイテムが見つかった場合、この関数は位置を返します。ただし、見つからない場合は、string::nposを返します。 したがって、サブ文字列がメイン文字列に存在するかどうかを確認するには、find()の戻り値がstring::nposであるかどうかを確認する必要があ
-
C++で整数を16進文字列に変換します
このプログラムでは、整数を16進文字列に変換する方法を説明します。整数を16進文字列に変換するには、数学的な手順に従います。しかし、この場合、簡単なトリックを使用してこの問題を解決しました。 C / C ++には、フォーマット指定子%Xがあります。ある変数の値を16進形式で出力します。このフォーマット指定子を使用して、sprintf()関数を使用して数値を文字列に変換しました。 Input: An integer number 255 Output: FF アルゴリズム Step 1:Take a number from the user Step 2: Make a string afte
-
C++で数値文字列を整数に変換します
ここでは、数値文字列を整数型データに変換する方法を説明します。この問題は、atoi()関数を使用して解決できます。この関数は文字列を入力として受け取り、整数データに変換します。 atoi()関数はライブラリにあります。 Input: A number string “1234” Output: 1234 アルゴリズム Step 1: Take a number string Step 2: Convert it to integer using atoi() function Step 3: Print the result. Step 4: End サンプルコード
-
C ++で文字列を数値に、またはその逆に変換する
このセクションでは、文字列を数値に変換し、数値を文字列に変換する方法を説明します。最初に、文字列を数値に変換する方法を説明します。 文字列から数値への変換 ここでは、数値文字列を整数型データに変換する方法を説明します。この問題は、atoi()関数を使用して解決できます。この関数は文字列を入力として受け取り、整数データに変換します。 atoi()関数はライブラリにあります。 Input: A number string “1234” Output: 1234 アルゴリズム Step 1:Take a number string Step 2: Convert it t
-
C++の文字列からすべての整数を抽出します
ここでは、C++で文字列からすべての整数を抽出する方法を説明します。数字と数字がない文字列を入れることができます。そこからすべての数値を抽出します。 この問題を解決するために、C++でstringstreamクラスを使用します。文字列を単語ごとに切り取り、整数型のデータに変換してみます。変換が完了すると、整数になり、値が出力されます。 Input: A string with some numbers “Hello 112 World 35 75” Output: 112 35 75 アルゴリズム Step 1:Take a number string Step 2:
-
C ++を使用してランダムな英数字の文字列を作成するにはどうすればよいですか?
このセクションでは、C++を使用してランダムな英数字の文字列を生成する方法を説明します。ここでは、小文字、大文字、および数字(0〜9)を提供しています。このプログラムは、文字をランダムに取得してから、ランダムな文字列を作成します。 Input: Here we are giving the string length Output: A random string of that length. Example “XSme6VAsvJ” アルゴリズム Step 1:Define array to hold all uppercase, lowercase letters
-
C++でstd::stringとintを連結する方法は?
このプログラムでは、C++で文字列と整数型のデータを連結する方法を説明します。文字列と整数のデータを連結するには、最初に整数を文字列に変換する必要があります。それを変換するために、stringstreamを使用しています。これはいくつかの機能を提供します。数字または文字列を取り、それを文字列にします。 Input: String “str” and Number 10 Output: Concatenated string “str10” アルゴリズム Step 1: Take string and number Step 2: Convert
-
1行に複数のC++文字列を連結するにはどうすればよいですか?
ここでは、C++で複数の文字列を1行に連結する方法を説明します。それを行うにはいくつかの異なる方法があります。最も簡単な方法は、プラス(+)演算子を使用することです。文字列は+を使用して連結できます。 2つの文字列の間に+記号を配置して、それらを連結することができます。 Input: Some strings “str1”, “str2”, “str3” Output: Concatenated string “str1str2str3” アルゴリズム Step 1: Take some strin
-
C++でのコンマ区切りのstd::stringの解析
このプログラムでは、C++でコンマ区切りの文字列を解析する方法を説明します。いくつかのテキストが存在し、それらがコンマで区切られている場所に文字列を配置します。このプログラムを実行すると、それらの文字列がベクトル型オブジェクトに分割されます。 それらを分割するには、getline()関数を使用しています。この関数の基本的な構文は次のとおりです。 getline (input_stream, string, delim) この関数は、入力ストリームから文字列または行を読み取るために使用されます。 Input: Some strings "ABC,XYZ,Hello,World,25
-
C++で文字列内のすべての文字をループするプログラム
このプログラムでは、C++で文字列の各文字を反復処理する方法を説明します。各文字をループするには、0から(文字列の長さ– 1)までのループを使用できます。文字にアクセスするには、文字列オブジェクトの添え字演算子 []またはat()関数を使用できます。 Input: A string “Hello World” Output: “Hello World” アルゴリズム Step 1: Get the string Step 2: Use R before string to make it raw string Step 3: End サンプルコー
-
C++の生の文字列リテラル
C ++ 11以降には、Raw文字列と呼ばれる概念があります。文字列では、\ n、\tなどのさまざまな文字を使用します。それらはさまざまな意味を持っています。 \ nはカーソルを次の行に戻すために使用され、\tはタブなどを生成します。 これらの文字の効果を確認せずに出力に出力したい場合は、生の文字列モードを使用できます。文字列を生の文字列にするには、文字列の前に「R」を追加する必要があります。 Input: A string "Hello\tWorld\nC++" Output: "Hello\tWorld\nC++" アルゴリズム Step 1: G
-
C++でstd::stringからスペースを削除します
このプログラムでは、C++でstd::stringからスペースを削除する方法を説明します。これを削除するには、remove()関数を使用します。このremove()関数を使用すると、イテレータの開始と終了を取得し、次にそのイテレータオブジェクトから削除される3番目の引数を取得します。 Input: A string "This is C++ Programming Language" Output: "ThisisC++ProgrammingLanguage" アルゴリズム Step 1: Get the string Step 2: Remove sp
-
C++の文字列から後続ゼロを削除します
このプログラムでは、C++の文字列から末尾のゼロを削除する方法を説明します。一部の文字列には、「00023054」のように末尾のゼロが含まれる場合があります。このプログラムを実行すると、「23054」のみが返されます。最初のゼロは削除されます。 Input: A string with trailing zeros “000023500124” Output: “23500124” アルゴリズム Step 1: Get the string Step 2: Count number of trailing zeros n Step 3: Remo