C++プログラムの文字列から個別の年の総数を検索します
このチュートリアルでは、指定された文字列で明確な年を見つけるプログラムを作成します。いくつかの例を見てみましょう。日付形式はDD/ MM / YYYYであると想定しています。 。
入力 −日付が2020年1月11日、2020年2月12日、2019年3月10日のサンプル例。
出力 − 2
与えられたテキスト2020と2019には2つの異なる年があります。
正規表現を使用して、指定された文字列からすべての日付を抽出します。 C ++の正規表現に慣れていない場合は、このチュートリアルを実行してください。
問題の解決に取り掛かりましょう。
-
テキストを初期化します。
-
テキストから日付を抽出するための正規表現を記述します。
-
空の順序付けされていないセットを初期化します。
-
日付を繰り返し、順序付けされていないセットに年を追加して、一意の年を見つけます。
-
セットの長さを印刷します。
例
コードを見てみましょう。
#include <iostream> #include <bits/stdc++.h> #include <regex> using namespace std; int uniqueYearsCount(string text) { // regex regex date_regex("[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}"); smatch matching_date; // set to store unique dates unordered_set<string> dates; // finding all dates while (regex_search(text, matching_date, date_regex)) { string date = matching_date[0]; dates.insert(date.substr(date.size() - 4)); text = matching_date.suffix(); } return dates.size(); } int main() { string text = "Sample example with dates 01/11/2020, 02/12/2020, and 03/10/2019."; cout << uniqueYearsCount(text) << endl; return 0; }
出力
上記のコードを実行すると、次の結果が得られます。
2
さまざまな形式で日付を取得できます。さまざまな形式の日付を取得する場合は、正規表現を適切に更新してください。
結論
チュートリアルに質問がある場合は、コメントセクションにそのことを記載してください。
-
C++でN番目の偶数フィボナッチ数を見つけるプログラム
この問題では、整数値Nが与えられます。私たちのタスクはN番目の偶数フィボナッチ数を見つけることです。 。 フィボナッチ数列は、前の2つの数値を加算することにより、後続の数値を生成します。フィボナッチ数列は、F0とF1の2つの数字から始まります。 F0とF1の初期値は、それぞれ0、1、または1、1にすることができます。 問題を理解するために例を見てみましょう Input : N = 4 Output : 144 ソリューションアプローチ この問題の簡単な解決策は、フィボナッチ数列の3つおきの数が偶数であり、偶数の数列も再帰式に従うという事実を使用することです。 フィボナッチ数列の再帰式
-
C++を使用して文字列の部分文字列の数を見つける
この記事では、特定の文字列に形成できるサブ文字列(空ではない)の数を見つけるためのアプローチについて学習します。 Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, ‘oo’, ‘on’, ‘moo’, ‘oon’ and &