检查一个字符串是否包含在另一个字符串中的程序

G95

为即将到来的考试做一些练习。有点卡在这个。

“编写一个程序,要求用户输入两个字符串,如果第二个字符串包含在第一个字符串中循环包含,则检查并打印一条消息。循环包含意味着第二个字符串正常出现在第一个字符串中,或​​者第二个字符串出现如此它的前缀出现在第一个字符串的末尾,而延续出现在第一个字符串的开头”。

您可以假设字符串仅包含小写字母。只允许使用字符串函数:strlen、strcpy、strcmp、strcat

例如:

字符串 A:iti sanic eday 字符串 B:sanic

是否经常发生

字符串 A: it isanice day字符串 B: dayit

这是一个循环出现。

到目前为止我做了什么:

#include <iostream>
#include <string.h>
using namespace std;
#define Max 128

int isCyclic(char* str1, char* str2);

int main()
{
    char* str1 = new char[Max];
    char* str2 = new char[Max];

    cout << "Please enter two strings:" << endl;

    cin >> str1 >> str2;

    cout << isCyclic(str1, str2) << endl;


    delete[] str1;
    delete[] str2;
}

int isCyclic(char* str1, char* str2)
{
    int s1 = strlen(str1);
    int s2 = strlen(str2);

    if (s1!=s2) // if string size is diffrent - they are not contained cyclic
    {
        return 0;
    }


}
哈里用户X

您将需要两个循环,第一个在字符串 1 上,这是我们在字符串 1 中用于比较的起点,第二个在字符串 2 上,它将以循环方式与字符串 1 匹配。如果到达字符串 1 的末尾,但字符串 2 中仍有一些字符,则从索引 0 开始循环遍历字符串 1。


#include <stdio.h>
#include <iostream>
#include <string.h>

// Should be avoided in general. Use scope resolution instead.
using namespace std;

char* isCyclic(char* s1, char* s2){
    int s1_size = strlen(s1);
    int s2_size = strlen(s2);

    // s1 must contain s2
    if(s2_size > s1_size)
        return "No Occurence";


    for(int i = 0; i < s1_size; i++){
        int current = i;
        // Boolean to track if we are currently cycling through s1
        bool inCycle = false;
        int j = 0;
        for(; j < s2_size; j++, current++){
            // character wise comparision
            if(s2[j] != s1[current])
                break;
            if(! inCycle){
                // start from first. Note that we are setting current = -1.
                // as we will be incrementing it in the for loop.
                if(current == s1_size - 1 && j < s2_size - 1){
                    current = -1;
                    inCycle = true;
                }
            }
        }

        if(j == s2_size){
            if(inCycle)
                return "cyclic";
            else
                return "regular";
        }
    }

    return "No Occurence";
}


int main()
{
    printf("Hello World\n");

    char* s1 = "itisaniceday";
    char* s2 = "dayitis";

    cout<<"Occurence Type: "<<isCyclic(s1, s2)<<endl;

    return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

如何测试字符串是否在PHPUnit中包含另一个字符串?

来自分类Dev

人偶中的函数,用于检查一个字符串是否包含另一个字符串

来自分类Dev

如何检查另一个字符串是否存在

来自分类Dev

检查一个字符串是否包含在另一个字符串中时的StackOverflow

来自分类Dev

检查REBOL字符串是否包含另一个字符串

来自分类Dev

PHP-检查一个字符串是否包含另一个字符串中的任何字符

来自分类Dev

如何检查一个字符串不包含另一个字符串的文本?

来自分类Dev

检查一个字符串是否在另一个字符串中的任何字符的最佳方法javascript

来自分类Dev

PHP-检查一个字符串是否是另一个字符串的旋转

来自分类Dev

检查一个字符串是否在python中包含另一个子字符串

来自分类Dev

检查一个字符串是否在C ++中是另一个字符串的排列

来自分类Dev

检查一个字符串是否包含Ruby中另一个字符串的所有字符

来自分类Dev

如何检查一个字符串是否在另一个字符串内(但不在边缘)?

来自分类Dev

如何检查字符串是否包含另一个字符串-Laravel

来自分类Dev

如何检查另一个字符串是否存在

来自分类Dev

检查一个字符串是否包含在另一个字符串中时的StackOverflow

来自分类Dev

检查REBOL字符串是否包含另一个字符串

来自分类Dev

检查一个字符串是否由另一个字符串用相同的字母组成

来自分类Dev

检查一个字符串是否与另一个字符串相似

来自分类Dev

检查一个字符串是否具有另一个字符串的所有字符

来自分类Dev

如何检查一个字符串是否与另一个字符串匹配

来自分类Dev

如何检查一个字符串的字母是否在另一个字符串中以给定的顺序存在?

来自分类Dev

使用bash脚本如何检查一个字符串是否在另一个字符串内

来自分类Dev

检查一个字符串是否在另一个字符串中的任何字符的最佳方法javascript

来自分类Dev

递归检查一个字符串是否等于另一个字符串

来自分类Dev

检查一个字符串是否包含另一个

来自分类Dev

如何检查一个字符串是否包含另一个字符串?

来自分类Dev

检查整个子字符串是否包含在一个字符串中

来自分类Dev

检查字符串是否包含另一个字符串

Related 相关文章

  1. 1

    如何测试字符串是否在PHPUnit中包含另一个字符串?

  2. 2

    人偶中的函数,用于检查一个字符串是否包含另一个字符串

  3. 3

    如何检查另一个字符串是否存在

  4. 4

    检查一个字符串是否包含在另一个字符串中时的StackOverflow

  5. 5

    检查REBOL字符串是否包含另一个字符串

  6. 6

    PHP-检查一个字符串是否包含另一个字符串中的任何字符

  7. 7

    如何检查一个字符串不包含另一个字符串的文本?

  8. 8

    检查一个字符串是否在另一个字符串中的任何字符的最佳方法javascript

  9. 9

    PHP-检查一个字符串是否是另一个字符串的旋转

  10. 10

    检查一个字符串是否在python中包含另一个子字符串

  11. 11

    检查一个字符串是否在C ++中是另一个字符串的排列

  12. 12

    检查一个字符串是否包含Ruby中另一个字符串的所有字符

  13. 13

    如何检查一个字符串是否在另一个字符串内(但不在边缘)?

  14. 14

    如何检查字符串是否包含另一个字符串-Laravel

  15. 15

    如何检查另一个字符串是否存在

  16. 16

    检查一个字符串是否包含在另一个字符串中时的StackOverflow

  17. 17

    检查REBOL字符串是否包含另一个字符串

  18. 18

    检查一个字符串是否由另一个字符串用相同的字母组成

  19. 19

    检查一个字符串是否与另一个字符串相似

  20. 20

    检查一个字符串是否具有另一个字符串的所有字符

  21. 21

    如何检查一个字符串是否与另一个字符串匹配

  22. 22

    如何检查一个字符串的字母是否在另一个字符串中以给定的顺序存在?

  23. 23

    使用bash脚本如何检查一个字符串是否在另一个字符串内

  24. 24

    检查一个字符串是否在另一个字符串中的任何字符的最佳方法javascript

  25. 25

    递归检查一个字符串是否等于另一个字符串

  26. 26

    检查一个字符串是否包含另一个

  27. 27

    如何检查一个字符串是否包含另一个字符串?

  28. 28

    检查整个子字符串是否包含在一个字符串中

  29. 29

    检查字符串是否包含另一个字符串

热门标签

归档