📄 count5.cpp
字号:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
ifstream in("input.txt");
ofstream out("output.txt");
class String
{
public:
String(char *s="");
~String();
int Length();
int Serch(String & t);
private:
char *str;
int *pre;
int size;
};
String::String(char *s)
{
size=strlen(s)+1;
str=new char[size];
strcpy(str,s);
pre=new int[size];
}
String::~String()
{
delete[]str;
delete[]pre;
}
int String::Length()
{
return size-1;
}
int String::Serch(String & t)
{
int i=1,j=0,n,m,num=0;
n=Length(),m=t.Length();
while(i<=n)
{
if(str[i-1]==t.str[j])
{
i++;
j++;
if(j==m)
{
num++;
j=0;
}
}
else
if(j==0) i++;
else j=t.pre[j];
}
return num;
}
void main()
{
String s,mod;
int number=0;
char temp[10000];
ifstream in("input.txt");
char name[100],t[100];
in.getline(name,100);
in.getline(t,100);
ifstream fin(name);
ofstream out("output.txt");
while(fin.getline(temp,10000))
{
number+=s.Serch(mod);
}
out<<number<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -