ウイルス感染検出プログラム(BFモードマッチング)18計科学用
1448 ワード
#include
#include
#include
using namespace std;
typedef struct{
char ch[600]; // , , ch NULL
int len; //
}HString;
int Index_BF(HString S,HString T,int pos)
{// T S pos 。 , 0
// ,T ,1≤pos≤StrLength(S)
int i,j;
i=pos; j=1;
while(i<=S.len&&j<=T.len)
{
if(S.ch[i]==T.ch[j]){++i;++j;} //
else{i=i-j+2;j=1;} //
}
if(j>T.len) return i-T.len;
else return 0;
}
void Virus_detection()
{
int num,m,flag,i,j; char Vir[600];
HString Virus,Person,temp;
ifstream inFile(" .txt");
ofstream outFile(" .txt");
inFile>>num;//
while(num--) // DNA DNA
{
inFile>>Virus.ch+1;// DNA
inFile>>Person.ch+1;// DNA
strcpy(Vir,Virus.ch);
Virus.len=strlen(Virus.ch)-1;
Person.len=strlen(Person.ch)-1;
flag=0;// , 0, 0
m=Virus.len;
for(i=m+1,j=1;j<=m;j++) Virus.ch[i++]=Virus.ch[j];
// , 2
// Virus.len
Virus.ch[2*m+1]='\0'; //
for(i=0;i