帮我写个字符串的处理函数好吗?在线等待,有答案马上结

cgh6697067 2005-03-19 08:13:00

函数传入的两个参数为:1:要处理的字符串 2:要查找的字符个数
即在该字符串中判断字符串'84'后的第三位是否都为1,如果为'1的个数和传入的个数相同,则
返回true,其他情况均返回false
如传如的实参为:
myfunction('008400100840010084001',3)
//如果确实在该字符串中的'84'后的第三个字符为'1'有三个,则为true
myfunction('008400100840010084001',4) //这就返回false,因为在'84'后的第三个字符
只能找到3个'1'

...全文
78 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lym_1978 2005-03-19
  • 打赏
  • 举报
回复
呵呵,好简单,看看以下是否是你想实现的
function myfunction(S: String; N: Integer): Boolean;
var
i, j: Integer;
begin
Result := False;
j := 0;
i := 1;

repeat
if (S[i] + S[i + 1] = '84') and (S[i + 4] = '1') then
begin
j := j + 1;
i := i + 5;
end
else
i := i + 1;
until i > Length(S);

if N = j then
Result := True;
end;
ztenv 2005-03-19
  • 打赏
  • 举报
回复
Function MyFunction(setstr:string;counts:integer):boolean;
var
str:string;
co,posn,i:integer;
begin
str:=setstr;
co:=counts;
posn:=0;
i:=0;
posn:=pos('841',str);
while posn<>0 do
begin
inc(i);
copy(str,0,posn+3);//不好意思,记不太清楚了,网吧里没有Delphi;思路:从第一个841尾部把剩余的放到字符串变量str中;
posn:=pos('841,str);
end;
if i=posn then
result:=true
else
result:=false;
end;//不知道对不对,但我想思路是这样的,希望对你有帮助,现在学习太忙了,所以不会常来上网,望原谅!!
forgot2000 2005-03-19
  • 打赏
  • 举报
回复
手头没有Delphi,不能帮你测试,应该很好实现。
思路:
1.先定义一个数字数组,维数为参数中的个数
如果 参数中的字符串中"84"的个数= 参数中的个数 则
依次把84的索引值加入到数组中
2.依次判断这些索引值后第4位是否为一


2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧