C++で文字列内の文字の最後のインデックスを検索します
文字列strがあるとします。別のキャラクターchがいます。私たちのタスクは、文字列内のchの最後のインデックスを見つけることです。文字列が「Hello」で、文字ch =‘l’の場合、最後のインデックスは3になります。
これを解決するために、文字が「l」と同じでない場合はリストを右から左にトラバースし、一致する場合はインデックスを減らし、停止して結果を返します。
例
#include<iostream> using namespace std; int getLastIndex(string& str, char ch) { for (int i = str.length() - 1; i >= 0; i--) if (str[i] == ch) return i; return -1; } int main() { string str = "hello"; char ch = 'l'; int index = getLastIndex(str, ch); if (index == -1) cout << "Character not found"; else cout << "Last index is " << index; }
出力
Last index is 3
-
C ++を使用して、括弧の文字列から等しい点を見つけます。
ここでは、括弧の文字列で等しいポイントを取得する方法を説明します。等しい点はインデックスIであり、その前の開始ブラケットの数は、その後の終了ブラケットの数と等しくなります。ブラケット文字列が「(()))(()()())))」のようなものであるとすると、よく見ると次のようになります したがって、0から9までの開始ブラケットの数は5であり、9から14までの終了ブラケットの数も5であるため、これは同じポイントです。 この問題を解決するには、次のいくつかの手順に従う必要があります- すべてのインデックスiまでの文字列に表示される開き角かっこの数を保存します すべてのインデックスIまでの文字
-
文字列内の文字の頻度を見つけるC++プログラム
文字列は、ヌル文字で終了する1次元の文字配列です。文字列内の文字の頻度は、文字列内で出現する回数です。例- String: Football is a sport The frequency of alphabet o in the above string is 3 特定のアルファベットの頻度を見つけるプログラムは次のとおりです。 例 #include <iostream> using namespace std; int main() { char str[100] = "this string contains many alphabet