c++函数代码,使用数组

C++ function code, using arrays

本文关键字:数组 函数 代码 c++      更新时间:2023-10-16

我很难理解我的代码对这个问题有什么问题。任何帮助都会很感激。

查找与target相等的一个或多个连续字符串中最早出现的字符串;将begin设置为目标第一次出现的位置,将end设置为目标在最早的连续序列中最后出现的位置,并返回true。如果n为负值,或者a中没有字符串等于target,则保持起始和结束不变并返回false。

bool locateSequence(const string a[], int n, string target, int& begin, int& end)
{
    if (n < 0)
        return 0;
    for (int i=0; i < n-1; i++)
    {
        if (a[i]==target && a[i+1]==target )
        {
            begin = i;
            break;
        }
    }
    for (int f=0; f < n-1; f++)
    {
        if (a[f]==target && a[f+1]==target )
        {
            end = f + 1;
            return true;
        }
    }
    return false;
}

您正在尝试编写已经免费提供的东西!

请查看:

std::search Search range for subsequence 

的例子:

#include <iostream>
#include <algorithm>
std::string search_in("abcdefhalloxyz");
std::string search_for("hallo");

int main()
{
    std::string::iterator it =
        std::search
        (
         search_in.begin(), search_in.end(),
         search_for.begin(), search_for.end()
        );
    if ( it != search_in.end() )
    {
        std::cout << "Found at " << it-search_in.begin() << std::endl;
    }
}