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

文字列がC++で別の指定された文字列で開始および終了するかどうかを確認します


この問題では、strとcorStrの2つの文字列が与えられます。私たちのタスクは、文字列が別の指定された文字列で開始および終了するかどうかを検索することです。

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

入力: str =“ abcprogrammingabc” conStr =“ abc”

出力: 正しい

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

この問題を解決するには、文字列がconStrで開始および終了するかどうかを確認する必要があります。このために、stringとcorStrの長さを見つけます。次に、falseを返さない場合は、len(String)> len(conStr)かどうかを確認します。
サイズcorStrのプレフィックスとサフィックスが等しいかどうかを確認し、corStrが含まれているかどうかを確認します。

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

#include <bits/stdc++.h>
using namespace std;

bool isPrefSuffPresent(string str, string conStr) {
   
   int size = str.length();
   int consSize = conStr.length();
   if (size < consSize)
   return false;
   return (str.substr(0, consSize).compare(conStr) == 0 && str.substr(size-consSize, consSize).compare(conStr) == 0);
}

int main() {
   
   string str = "abcProgrammingabc";
   string conStr = "abc";
   if (isPrefSuffPresent(str, conStr))
      cout<<"The string starts and ends with another string";
   else
      cout<<"The string does not starts and ends with another string";
   return 0;
}

出力-

The string starts and ends with another string

  1. C ++を使用して、指定された一方の端と中間の線のもう一方の端点を見つけます

    この問題では、線の始点A(x A の2点の座標が与えられます。 、y A )および中点M(x M 、y M )。私たちのタスクは、指定された一方の端と中央にある線のもう一方の端点を見つけることです。 。 問題を理解するために例を見てみましょう 入力 A = [1, 2], M = [3, 0] 出力 [5, -2] 説明 行は-です ソリューションアプローチ この問題を解決するために、数学で学んだ幾何学の概念を使用します。すべての線に中点式があることを覚えているなら、 mid(x) = (x1 + x2) / 2 mid(y) = (y1 + y2) / 2

  2. C++で文字列の一部を別の文字列に置き換えます

    ここでは、C++で文字列の一部を別の文字列に置き換える方法を説明します。 C ++では、置換は非常に簡単です。 string.replace()という関数があります。この置換関数は、一致の最初の出現のみを置換します。すべてのためにそれを行うために、ループを使用しました。この置換関数は、置換する場所からインデックスを取得し、文字列の長さを取得し、一致した文字列の代わりに配置される文字列を取得します。 Input: A string "Hello...Here all Hello will be replaced", and another string to replace