ホームページ  >  記事  >  バックエンド開発  >  C++ プログラムを使用して、文字列内のすべての子音を最も近い母音に置き換えます

C++ プログラムを使用して、文字列内のすべての子音を最も近い母音に置き換えます

WBOY
WBOY転載
2023-09-11 10:17:02969ブラウズ

C++ プログラムを使用して、文字列内のすべての子音を最も近い母音に置き換えます

このメソッドは、子音の文字列をアルファベット (小文字のラテン文字とも呼ばれる) で最も近い母音に置き換えることを目的としています。 2 つの母音が同等に近い場合は、それらの文字の最初の母音に置き換えることができます。

いくつかの入力シナリオを見てみましょう -

「ebgkjasjd」などの文字列があり、文字列内のすべての子音を最も近い母音に置き換える必要があるとします。

リーリー

要素 'b' が最も近い母音であるため、要素 'b' を 'a' に置き換えます。どちらも同じように最近のものなので、要素「g」を「e」または「i」に置き換えることもできますが、最初に出現したため、「e」に置き換えることを選択します。文字列内の他のすべての要素にも同じことが当てはまります。

入力文字列に母音が含まれていない場合、たとえば文字列「sdfhgtykl」を考慮すると、結果の出力は -

になるとします。 リーリー

最初の要素「s」の場合、母音「u」が最も近いので、「s」を「u」に置き換えます。配列内の他のすべての要素と同様に、それらは子音です。この状況は、メソッドの最悪の場合の複雑さももたらします。

###アルゴリズム###

    開始インデックスから開始して入力文字列を走査します。
  • 子音が見つかった場合、その子音から左右の最も近い 2 つの母音までの文字数がカウントされます。文字数の少ない母音を選択してください。
  • このプロセスは、文字列内のすべての子音が探索されるまで繰り返されます。
  • 取得される出力は、置換された文字列です。
  • ###例###
  • 以下は、文字列内のすべての子音をアルファベットの最も近い母音に置き換えるために C で実装されたコードです -
リーリー ###出力### リーリー ###例###

ただし、より良いアプローチは、多くの if-else 条件を使用する代わりに、配列を使用し、各文字に最も近い文字の答えを保存することです。

リーリー ###出力### リーリー ###結論は###

要素を見つけて最も近い文字に置き換えることで、要素を置き換えることができます。文字列を走査する時間計算量は O(n) です。 2 番目の方法は、理解とコード化が容易で、煩雑さが軽減されます。文字列を 1 回だけ反復するため、時間計算量も O(n) になります。

以上がC++ プログラムを使用して、文字列内のすべての子音を最も近い母音に置き換えますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。