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

C++で文字列内の最長の長さの数値を検索します


この問題では、文字とアルファベットのみで構成される文字列strが与えられます。私たちのタスクは、文字列内で最も長い長さの数値を見つけることです。

問題の説明: 数字の長さ、つまり文字列内の連続する数字を見つける必要があります。

問題を理解するために例を見てみましょう。

入力: str =“ code001tutorials34124point”

出力: 34124

説明:

文字列内の数字は

001-サイズ3

34124-サイズ5

ソリューションアプローチ

この問題の簡単な解決策は、刺し傷を横切って、数字の長さとその開始インデックスを見つけることです。文字列内の各数値の開始位置と文字数を文字列に格納します。そして最後に、番号を返します。

ソリューションの動作を説明するプログラム

#include <iostream>
using namespace std;

string findLongestNumber(string str, int l) {
   
   int count = 0, max = 0, maxLenPos = -1, currPos, currLen, maxLen = 0;

   for (int i = 0; i < l; i++) {
      currPos = maxLenPos;
      currLen = maxLen;
      count = 0;
      maxLen = 0;
      if (isdigit(str[i]))
         maxLenPos = i;
      while (isdigit(str[i])) {
         count++;
         i++;
         maxLen++;
      }
      if (count > max) {
         max = count;
      }
      else {
         maxLenPos = currPos;
         maxLen = currLen;
      }
   }
   return (str.substr(maxLenPos, maxLen));
}

int main() {
   
   string str = "code001tutorials34124point";
   int l = str.length();
   cout<<"The longest length number in string is "<<findLongestNumber(str, l);
   return 0;
}

出力

The longest length number in string is 34124

  1. C++を使用して文字列の部分文字列の数を見つける

    この記事では、特定の文字列に形成できるサブ文字列(空ではない)の数を見つけるためのアプローチについて学習します。 Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, ‘oo’, ‘on’, ‘moo’, ‘oon’ and &

  2. 文字列の長さを見つけるC++プログラム

    文字列は、ヌル文字で終了する1次元の文字配列です。文字列の長さは、ヌル文字の前の文字列の文字数です。 たとえば。 char str[] = “The sky is blue”; Number of characters in the above string = 15 文字列の長さを見つけるプログラムは次のとおりです。 例 #include<iostream> using namespace std; int main() {    char str[] = "Apple";    int co