C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++STLを使用した長さ2の別個の連続したサブ文字列の数


このチュートリアルでは、C++STLを使用して長さ2の別個の連続するサブ文字列をカウントするプログラムについて説明します。

このために、文字列を提供します。私たちのタスクは、指定された文字列から長さ2のすべての一意のサブ文字列をカウントして出力することです。

#include<bits/stdc++.h>
using namespace std;
void calc_distinct(string str){
   map<pair<char,char>, int> dPairs;
   for (int i=0; i<str.size()-1; i++)
      dPairs[make_pair(str[i], str[i+1])]++;
   cout << "Distinct sub-strings with counts:\n";
   for (auto it=dPairs.begin(); it!=dPairs.end(); it++)
      cout << it->first.first << it->first.second << "-" << it->second << " ";
}
int main(){
   string str = "abcacdcacabacaassddssklac";
   calc_distinct(str);
   return 0;
}

出力

Distinct sub-strings with counts:
aa-1 ab-2 ac-4 as-1 ba-1 bc-1 ca-4 cd-1 dc-1 dd-1 ds-1 kl-1 la-1 sd-1 sk-1 ss-2

  1. C ++を使用してランダムな英数字の文字列を作成するにはどうすればよいですか?

    このセクションでは、C++を使用してランダムな英数字の文字列を生成する方法を説明します。ここでは、小文字、大文字、および数字(0〜9)を提供しています。このプログラムは、文字をランダムに取得してから、ランダムな文字列を作成します。 Input: Here we are giving the string length Output: A random string of that length. Example “XSme6VAsvJ” アルゴリズム Step 1:Define array to hold all uppercase, lowercase letters

  2. 文字列にC++のサブ文字列が含まれているかどうかを確認します

    ここでは、文字列ライブラリ関数を使用してC++で文字列を照合する方法を説明します。ここでは、find()操作を使用して、サブストリングのオカレンスをメインストリングに取得しています。このfind()メソッドは、文字列が見つかった最初の場所を返します。ここでは、このfind()関数を複数回使用して、すべての一致を取得しています。 アイテムが見つかった場合、この関数は位置を返します。ただし、見つからない場合は、string::nposを返します。 したがって、サブ文字列がメイン文字列に存在するかどうかを確認するには、find()の戻り値がstring::nposであるかどうかを確認する必要があ