C ++の文字列(反復および再帰)の最初の大文字
このチュートリアルでは、指定された文字列の最初の大文字を見つける方法を学習します。例を見てみましょう。
入力 −チュートリアルポイント
出力 −T
反復法を使用して問題を解決する手順を見てみましょう。
-
文字列を初期化します。
-
文字列を繰り返し処理します。
-
isupper を使用して、現在の文字が大文字かどうかを確認します メソッド。
-
文字が大文字の場合は、現在の文字を返します。
例
コードを見てみましょう。
#include <bits/stdc++.h> using namespace std; char firstUpperCaseChar(string str) { for (int i = 0; i < str.length(); i++) if (isupper(str[i])) { return str[i]; } return 0; } int main() { string str = "Tutorialspoint"; char result = firstUpperCaseChar(str); if (result == 0) { cout << "No uppercase letter" << endl; } else { cout << result << endl; } return 0; }
出力
上記のコードを実行すると、次の結果が得られます。
T
再帰的方法を使用して問題を解決する手順を見てみましょう。
-
文字列を初期化します。
-
2つのパラメータ文字列とインデックスを受け入れる再帰関数を記述します。
-
現在の文字が文字列の終わりである場合は、戻ります。
-
現在の文字が大文字の場合は、現在の文字を返します。
例
コードを見てみましょう。
#include <bits/stdc++.h> using namespace std; char firstUpperCaseChar(string str, int i = 0) { if (str[i] == '\0') { return 0; } if (isupper(str[i])) { return str[i]; } return firstUpperCaseChar(str, i + 1); } int main() { string str = "Tutorialspoint"; char result = firstUpperCaseChar(str); if (result == 0) { cout << "No uppercase letter"; } else { cout << result << endl; } return 0; }
出力
上記のコードを実行すると、次の結果が得られます。
T
結論
チュートリアルに質問がある場合は、コメントセクションにそのことを記載してください。
-
C ++のバイナリツリー(反復および再帰)の完全なノードをカウントします
バイナリツリーが与えられ、タスクは、反復的かつ再帰的なアプローチを使用して、バイナリツリーで使用可能な完全なノードの数を計算することです。フルノードとは、両方の子があり、子がnullでないノードです。フルノードでは、正確に2つの子を持つノードを考慮することに注意してください。 バイナリツリーは、データストレージの目的で使用される特別なデータ構造です。二分木には、各ノードが最大2つの子を持つことができるという特別な条件があります。バイナリツリーには、検索が並べ替えられた配列と同じくらい高速であり、挿入または削除操作がリンクリストと同じくらい高速であるため、順序付き配列とリンクリストの両方の利点
-
C ++のバイナリツリー(反復および再帰)のハーフノードをカウントします
バイナリツリーが与えられ、タスクは、反復的かつ再帰的なアプローチを使用して、バイナリツリーで使用可能なハーフノードの数を計算することです。ハーフノードは、子が1つだけで、もう1つの子がnullであるノードです。ハーフノードでは、リーフノードを考慮しないことに注意してください。 バイナリツリーは、データストレージの目的で使用される特別なデータ構造です。二分木には、各ノードが最大2つの子を持つことができるという特別な条件があります。バイナリツリーには、検索が並べ替えられた配列と同じくらい高速であり、挿入または削除操作がリンクリストと同じくらい高速であるため、順序付き配列とリンクリストの両方の利点