C++

 Computer >> コンピューター >  >> プログラミング >> C++
  1. C++で整数を16進数文字列に変換する方法

    この記事では、C++で整数を16進数の文字列に変換する方法を紹介します。整数を16進数へ変換するには、剰余や除算を繰り返す数学的な手順を実装する方法もありますが、ここではより簡単なテクニックを使って問題を解決します。%Xフォーマット指定子とはC/C++には「%X」というフォーマット指定子が用意されています。これは変数の値を16進数形式(大文字のA〜F)で出力するためのもので、「%x」を使えば小文字(a〜f)で出力することもできます。本プログラムでは、このフォーマット指定子と sprintf() 関数を組み合わせることで、数値をそのまま文字列として取得しています。入力: 整数 255 出力: F

  2. C++で数値文字列を整数に変換する方法

    ここでは、C++で数値を表す文字列(数値文字列)を整数型のデータに変換する方法を解説します。この問題は、標準ライブラリに含まれる atoi() 関数を使うことで簡単に解決できます。atoi() は「ASCII to Integer」の略で、文字列を入力として受け取り、それを整数値へと変換して返します。atoi() 関数は <cstdlib> ヘッダに定義されています。使用する際は、このヘッダをインクルードする必要があります。入力:数値文字列 1234 出力:1234アルゴリズムステップ1: 数値を表す文字列を用意する ステップ2: atoi()関数を使って整数に変換する ステップ3

  3. C++で文字列を数値に、またはその逆に変換する方法を解説

    はじめに この記事では、C++における「文字列から数値への変換」と「数値から文字列への変換」という2つの処理方法を解説します。まずは文字列から数値への変換から見ていきましょう。 文字列から数値への変換 ここでは、数値を表す文字列を整数型のデータに変換する方法を紹介します。この問題は、atoi() 関数を使うことで簡単に解決できます。この関数は文字列を引数として受け取り、それを整数型のデータに変換して返します。 atoi() 関数は <cstdlib> ヘッダに含まれています。 入力: 数値文字列 1234 出力: 1234 アルゴリズム ステップ1: 数値文字列を用意する ステップ

  4. C++で文字列からすべての整数を抽出する方法

    本記事では、C++において数字と数字以外の文字が混在する文字列から、すべての整数値を抽出する方法を解説します。この問題を解決するには、C++標準ライブラリのstringstreamクラスを利用します。基本的な考え方は、対象の文字列を単語(スペース区切りのトークン)ごとに切り分け、それぞれを整数型(int)に変換できるかどうかを試すというものです。変換に成功すれば、その単語は整数であると判断でき、値を出力します。入出力の例入力:数字を含む文字列 Hello 112 World 35 75 出力:112 35 75アルゴリズムステップ1:数値を含む文字列を受け取る ステップ2:文字列を単語ごとに分

  5. C++を使ってランダムな英数字文字列を生成する方法

    この記事では、C++を使ってランダムな英数字文字列を生成する方法を解説します。対象となる文字は、小文字(a〜z)、大文字(A〜Z)、そして数字(0〜9)です。プログラムはこれらの文字の中からランダムに1文字ずつ選び、指定された長さのランダムな文字列を作成します。入力:生成する文字列の長さを指定出力:指定した長さのランダム文字列 例:「XSme6VAsvJ」アルゴリズムステップ1:大文字・小文字・数字をすべて格納する配列を定義するステップ2:ユーザーから文字列の長さ n を受け取るステップ3:n 回ランダムに文字を選択し、長さ n の文字列を生成するステップ4:終了サンプルコード以下のコードでは

  6. C++でstd::stringとint(整数)を連結する方法【stringstream・std::to_string】

    C++では、文字列(std::string)と整数型(int)のデータをそのまま連結することはできません。連結を行うには、まず整数を文字列に変換する必要があります。本記事では、stringstreamを使った変換方法を中心に、具体的な手順とサンプルコードをわかりやすく解説します。例えば、文字列「str」と数値「10」を連結すると、結果として「str10」という一つの文字列が得られます。入力:文字列 str と 数値 10 出力:連結された文字列 str10処理の流れ(アルゴリズム)ステップ1:文字列と数値を受け取る ステップ2:数値を文字列に変換する ステップ3:両者を連結する ステップ4:終

  7. C++で複数の文字列を1行で連結する方法をわかりやすく解説

    C++では、複数の文字列(std::string)を1行のコードで簡単に連結できます。連結方法はいくつかありますが、最も基本であり簡単なのが加算演算子(+)を使う方法です。std::string型の文字列同士であれば、「+」を文字列の間に置くだけで、それらを結合した新しい文字列を生成できます。入力:複数の文字列 str1、str2、str3 出力:連結された文字列 str1str2str3アルゴリズムステップ1:連結したい複数の文字列を用意する ステップ2:文字列の間に「+」演算子を挟んで連結する ステップ3:連結結果の文字列を表示する ステップ4:終了サンプルコード以下のコードでは、3つの文

  8. C++でカンマ区切りのstd::stringを解析して分割する方法

    本記事では、C++でカンマ区切りの文字列(カンマで区切られたstd::string)を解析する方法を解説します。カンマで区切られた複数のテキストを含む文字列を用意し、プログラムを実行すると、それらをvector型のオブジェクトに分割して格納します。文字列の分割には、getline()関数を使用します。この関数の基本的な構文は以下のとおりです。getline (input_stream, string, delim)この関数は、入力ストリームから文字列や1行を読み取るために使われます。第3引数のdelimに区切り文字を指定することで、その文字を境界として文字列を切り出すことができます。入力:文字

  9. C++で文字列の各文字をループ処理する方法

    この記事では、C++で文字列内の各文字を1つずつ取り出して処理する方法を解説します。文字列のすべての文字をループ処理するには、インデックス0から「文字列の長さ − 1」まで繰り返すfor文を使用します。各位置の文字へのアクセスには、添字演算子「[ ]」またはstringオブジェクトのat()関数のいずれかを使えます。入力と出力入力: 文字列 Hello World 出力: Hello Worldアルゴリズムステップ1: 処理対象の文字列を用意する ステップ2: インデックスiを0から文字列の長さ−1まで順に進める ステップ3: i番目の文字を取得して出力し、全文字に対して繰り返すサンプルコード

  10. 【C++】raw文字列リテラルの使い方をわかりやすく解説

    raw文字列リテラルとは C++11以降では、「raw文字列リテラル(raw string literal)」という便利な機能が利用できます。通常の文字列リテラル内では、\n や \t などのエスケープシーケンスが特別な意味を持ちます。例えば \n はカーソルを次の行へ移動させる改行を表し、\t はタブ文字を生成します。 一方で、これらの記号をエスケープシーケンスとして解釈せず、記述した通りの文字としてそのまま出力したいケースもあります。そんなときに役立つのがraw文字列です。文字列をraw文字列として扱うには、文字列リテラルの直前に「R」を付けるだけです。 入力: 文字列 Hello\tWo

  11. C++でstd::stringから空白を削除する方法

    ```html この記事では、C++でstd::stringから空白(スペース)を取り除く方法を解説します。空白の削除には、<algorithm>ヘッダーで提供されるremove()関数を使用します。この関数は、処理対象の範囲の先頭と末尾を指す2つのイテレータと、削除したい値を第3引数として受け取ります。入力:文字列 "This is C++ Programming Language" 出力:文字列 "ThisisC++ProgrammingLanguage"アルゴリズムステップ1:文字列を取得する ステップ2:remove()関数を使って、

  12. C++で文字列から先頭の余分なゼロを削除する方法

    この記事では、C++を使って文字列から先頭の余分なゼロ(先行ゼロ)を削除する方法を解説します。扱うデータによっては、文字列が「00023054」のように先頭に複数のゼロを含んでいることがあります。ここで紹介するプログラムを実行すると、出力は「23054」となり、先頭の不要なゼロだけが取り除かれます。 入力:先頭にゼロを含む文字列「000023500124」 出力:「23500124」 アルゴリズム 処理の流れは以下の通りです。 ステップ1:文字列を取得する ステップ2:先頭に並ぶゼロの個数 n を数える ステップ3:文字列の先頭から n 文字を削除する ステップ4:残りの文字列を返す サンプル

  13. C++で文字列の一部を別の文字列に置き換える方法を解説

    この記事では、C++において文字列の一部を別の文字列に置き換える方法を詳しく解説します。C++では文字列の置換が非常に簡単に行えます。標準ライブラリには string.replace() という便利な関数が用意されています。replace()関数の基本的な仕組みreplace() 関数は、指定した位置から始まる指定した長さの部分文字列を、新しい文字列で置き換えます。ただし、この関数単体では最初に見つかった1箇所のみが置き換えられる点に注意が必要です。文字列内に存在するすべての一致箇所を置き換えるには、ループ処理と組み合わせる必要があります。replace() 関数が受け取る引数は以下の3つです

  14. C++で部分文字列を別の部分文字列に置き換える方法

    この記事では、C++のstd::stringクラスが提供するreplace関数を使って、文字列内の一部(部分文字列)を別の文字列に置き換える方法を解説します。replace関数は、指定した位置posから始まるlen文字分の範囲を、新しい文字列で置き換えることができます。replace関数の基本構文string& replace (size_t pos, size_t len, const string& str, size_t subpos, size_t sublen);主なパラメータの説明pos: 置き換えを開始する位置(挿入ポイント)です。len: 置き換え対象となる、削除する文字数を表

  15. C++でスタックを使って括弧の対応(バランス)をチェックするプログラム

    この記事では、スタック(Stack)というデータ構造を活用して、式の中の括弧が正しく対応しているかどうか(バランスが取れているか)を判定する方法を解説します。単に開き括弧と閉じ括弧の数が一致しているかを確認するだけでなく、括弧の順序(入れ子の関係)が正しいかどうかもチェックできる点がポイントです。例えば、式「[{}(){()}]」は括弧の対応が正しいため妥当な式ですが、「{[}]」は閉じ括弧の順序が誤っているため不正な式となります。入力:括弧を含む式 {()}[] 出力:They are balanced(バランスが取れている)アルゴリズムスタックのLIFO(後入れ先出し)という性質を利用する

  16. スタックを使って10進数を2進数に変換するC++プログラムの解説

    この記事では、スタック(stack)というデータ構造を使って、10進数を2進数に変換するC++プログラムを紹介します。10進数を2進数に変換するには、対象の数値を2で割り続け、その余りを求める方法が一般的です。このとき、余りは計算順序とは逆の順番(最後に求めた桁が先頭)で並べる必要があります。スタックは「後入れ先出し(LIFO: Last In, First Out)」の性質を持つため、余りを順番に格納していけば、取り出す際に自動的に正しい桁順になります。まさにこの問題に適したデータ構造といえるでしょう。入力:10進数 13 出力:2進数 1101アルゴリズム変換の手順は以下の通りです。ステッ

  17. C++でスタックを使って後置記法(逆ポーランド記法)の式を評価する方法

    数式をコンピュータで計算するには、中置記法ではなく前置記法(プレフィックス)または後置記法(ポストフィックス/逆ポーランド記法)の形式に変換するのが一般的です。中置記法から後置記法への変換が完了したら、次は後置記法の評価アルゴリズムを使って正しい答えを求めます。この評価処理においても、重要な役割を果たすのがスタック(Stack)というデータ構造です。後置記法の評価の基本的な考え方後置記法の式を左から右へ読み進めながら、以下の手順で処理を行います。オペランド(数値)を見つけたら、スタックにプッシュします。演算子を見つけたら、スタックから2つの要素をポップし、正しい順序で演算を実行します。演算結果

  18. C++でスタックを実装する方法:配列を使ったPush・Pop・Peekの基本操作を解説

    この記事では、C++を使ってスタック(Stack)を実装する方法を解説します。スタックとは、要素の集合を格納する抽象データ構造の一つで、「LIFO(Last In First Out:後入れ先出し)」という仕組みに基づいて動作します。つまり、最後に追加された要素が最初に取り出されるという特徴があります。スタックにおける主な基本操作は以下の3つです。Push(プッシュ) … スタックの一番上(トップ)に新しいデータを追加します。Pop(ポップ) … スタックの一番上にあるデータを取り除きます。Peek(ピーク) … スタックの一番上にあるデータを、削除せずに参照します。以下では、配列を用いてスタ

  19. C++でグラフの隣接リストを実装する方法:サンプルコード付きで解説

    グラフの隣接リストは、連結リスト(リンクリスト)を用いたグラフの表現方法の一つです。この表現では、リストを要素とする配列を使用し、その配列のサイズは V(頂点の総数)となります。言い換えれば、V個の異なるリストを格納するための配列を用意することになります。各リストの先頭が頂点 u に対応しており、そのリストには「頂点 u に隣接するすべての頂点」が格納されます。 隣接リスト表現の計算量 無向グラフの場合、必要な記憶領域は O(V + 2E)、有向グラフの場合は O(V + E) となります。 辺の数が増加すると、それに伴って必要なメモリ量も増えていきます。そのため、辺の密度が低い(スパースな

  20. C++でグラフの隣接行列を実装する方法【サンプルコード付き解説】

    隣接行列とは グラフの隣接行列(Adjacency Matrix)とは、V×Vのサイズを持つ正方行列のことです。ここでVはグラフGの頂点数を表します。行列の行と列にはそれぞれ頂点が対応付けられ、頂点iから頂点jへの辺が存在する場合は、i行目・j列目の要素に1が格納されます(重み付きグラフの場合は、辺の重みなどの非ゼロの値が入ります)。辺が存在しない場合は0が格納されます。 なお、無向グラフの場合、辺は双方向につながりを持つため、隣接行列は必ず対称行列になります。つまり、adj[i][j]とadj[j][i]は常に同じ値となります。 隣接行列表現の計算量 空間計算量: 隣接行列にはO(V²)

Total 5990 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:32/300  20-コンピューター/Page Goto:1 26 27 28 29 30 31 32 33 34 35 36 37 38