一个字符串为:string1=
CCCCCCHHHHHHHHHHHHHHHHHHTTHHHHHHHTTSCHHHHHHHHHHHHH
HHHHHHHHHHHTHHHHHHSSCSSSCCCSTTGGGTTCCTTCEETTEEHHHH
HHHHHHHHHHHHHHHHHHHGGGBCHHHHHHHHHHHHHHTHHHHHHHHHSS
另一个为:string2=
cccccccchhhhhhhhhhhhhcccccceeeeecccccccchhhhccceee
eeeeeeeeeeeeeeecccccccceeeccchhhhcchhhhhhhcceeeeee
eeecccccceeeeehhhhhhhhhccceeeeeeeeeeecceeceeeeeecc
chhhhhccccccccchhhhhhhhhhhhhhhhhccccccccccccccccce
这两个字符串是等长的,以string1为模板,我要比较string1为H,在相同的位置string2是否为H或h,如果是则表示正确,否则错误,然后统计出string2中总共H数,预测正确的H数(即前面与string1比较同为H),该如何实现呢?请指点迷津,万分感谢!
CCCCCCHHHHHHHHHHHHHHHHHHTTHHHHHHHTTSCHHHHHHHHHHHHH
HHHHHHHHHHHTHHHHHHSSCSSSCCCSTTGGGTTCCTTCEETTEEHHHH
HHHHHHHHHHHHHHHHHHHGGGBCHHHHHHHHHHHHHHTHHHHHHHHHSS
另一个为:string2=
cccccccchhhhhhhhhhhhhcccccceeeeecccccccchhhhccceee
eeeeeeeeeeeeeeecccccccceeeccchhhhcchhhhhhhcceeeeee
eeecccccceeeeehhhhhhhhhccceeeeeeeeeeecceeceeeeeecc
chhhhhccccccccchhhhhhhhhhhhhhhhhccccccccccccccccce
这两个字符串是等长的,以string1为模板,我要比较string1为H,在相同的位置string2是否为H或h,如果是则表示正确,否则错误,然后统计出string2中总共H数,预测正确的H数(即前面与string1比较同为H),该如何实现呢?请指点迷津,万分感谢!
var
string1,string2:string;
i,re:integer;
begin
re:=0;
string1:='CCCCCCHHHHHHHHHHHHHHHHHHTTHHHHHHHTTSCHHHHHHHHHHHHH'+
'HHHHHHHHHHHTHHHHHHSSCSSSCCCSTTGGGTTCCTTCEETTEEHHHH'+
'HHHHHHHHHHHHHHHHHHHGGGBCHHHHHHHHHHHHHHTHHHHHHHHHSS';
string2:='cccccccchhhhhhhhhhhhhcccccceeeeecccccccchhhhccceee'+
'eeeeeeeeeeeeeeecccccccceeeccchhhhcchhhhhhhcceeeeee'+
'eeecccccceeeeehhhhhhhhhccceeeeeeeeeeecceeceeeeeecc';
for i:=0 to length(string1)-1 do
begin
if Upcase(string1[i])=Upcase(string2[i]) then re:=re+1;
end;
showmessage(inttostr(re));
end;
var
string1,string2:string;
i,re:integer;
begin
re:=0;
string1:='CCCCCCHHHHHHHHHHHHHHHHHHTTHHHHHHHTTSCHHHHHHHHHHHHH'+
'HHHHHHHHHHHTHHHHHHSSCSSSCCCSTTGGGTTCCTTCEETTEEHHHH'+
'HHHHHHHHHHHHHHHHHHHGGGBCHHHHHHHHHHHHHHTHHHHHHHHHSS';
string2:='cccccccchhhhhhhhhhhhhcccccceeeeecccccccchhhhccceee'+
'eeeeeeeeeeeeeeecccccccceeeccchhhhcchhhhhhhcceeeeee'+
'eeecccccceeeeehhhhhhhhhccceeeeeeeeeeecceeceeeeeecc';
for i:=0 to length(string1)-1 do
begin
if (Upcase(string1[i])=Upcase(string2[i])) and (Upcase(string2[i])='H') then re:=re+1;
end;
showmessage(inttostr(re));
end;function getre(i:integer):boolean;
var
string1,string2:string;
begin
string1:='CCCCCCHHHHHHHHHHHHHHHHHHTTHHHHHHHTTSCHHHHHHHHHHHHH'+
'HHHHHHHHHHHTHHHHHHSSCSSSCCCSTTGGGTTCCTTCEETTEEHHHH'+
'HHHHHHHHHHHHHHHHHHHGGGBCHHHHHHHHHHHHHHTHHHHHHHHHSS';
string2:='cccccccchhhhhhhhhhhhhcccccceeeeecccccccchhhhccceee'+
'eeeeeeeeeeeeeeecccccccceeeccchhhhcchhhhhhhcceeeeee'+
'eeecccccceeeeehhhhhhhhhccceeeeeeeeeeecceeceeeeeecc';
Result:=false;
if (Upcase(string1[i])=Upcase(string2[i])) and (Upcase(string2[i])='H') then Result:=true;
end;
否则计算好像相差一个
上面那个函数(function getre(i:integer):boolean;
)好像没用上啊!
谢谢kernelj