回 帖 发 新 帖 刷新版面

主题:acen朋友在吗?

上次的那道题有两句话我不太明白请指教:1、 fillchar(arr,sizeof(arr),0);
                                      2、 inc(arr[ord(str[i])-48]);
var
        str:string;
        arr:array[0..9] of byte;
        i:integer;
begin
        write('Enter the digital string:');
        readln(str);
        fillchar(arr,sizeof(arr),0);
        for i:=1 to length(str) do
                inc(arr[ord(str[i])-48]);
        for i:=0 to 9 do
                write(i,':',arr[i],' ':2);
        readln;
end.



还能请你帮解这道题吗?先谢谢了,
1、输入两个串A和B,判断B是否是A的子串。是就‘yes’,否就‘no’
 

回复列表 (共3个回复)

沙发

inc 的解释在上个帖中解释了,
fillchar 是个填充函数,表示把数组用某个值填充,如上一程序中是用0填充数组arr
判断的也在上个帖中.
只需再加
if result<>0 then write('yes')
     else write('no');

板凳

谢谢,可惜还是不理解,能给出程序吗?

3 楼

var
      str1,str2:string;
      result:integer;
begin
      readln(str1);
      readln(str2);
      result:=pos(str1,str2);
      if result <> 0 then writeln('Yes')
                     else writeln('No');
      readln;
end.

我来回复

您尚未登录,请登录后再回复。点此登录或注册