Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm nếu một chuỗi bắt đầu và kết thúc bằng một chuỗi đã cho khác trong C ++

Trong bài toán này, chúng ta được cung cấp hai chuỗi str và corStr. Nhiệm vụ của chúng ta là tìm xem một chuỗi có bắt đầu và kết thúc bằng một chuỗi đã cho khác hay không.

Hãy lấy một ví dụ để hiểu vấn đề,

Đầu vào: str =“abcprogrammingabc” conStr =“abc”

Đầu ra: Đúng

Phương pháp tiếp cận giải pháp:

Để giải quyết vấn đề, chúng ta cần kiểm tra xem chuỗi có bắt đầu và kết thúc bằng conStr hay không. Đối với điều này, chúng tôi sẽ tìm độ dài của chuỗi và corStr. Sau đó, chúng ta sẽ kiểm tra xem len (String)> len (conStr), nếu không trả về false.
Kiểm tra xem tiền tố và hậu tố của kích thước corStr có bằng nhau không và kiểm tra xem chúng có chứa corStr hay không.

Chương trình minh họa hoạt động của giải pháp của chúng tôi,

Ví dụ

#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;
}

Đầu ra -

The string starts and ends with another string