Дана строка символов, содержащая слова. Используя функцию, определить количество слов, имеющих заданную длину n
Категория: Delphi/Pascal
2012-06-18 19:37:53
code: #delphi
function GetCountOfWordsByLength(aStr:string; const aLen:Integer = 0):Integer; var s:string; rCount:Integer; i:integer; sWord:string; iwLen:Integer; Buff:array[0..1] of Char; //Конвеерная лента begin Result:=-1; s:=aStr; for i:=1 to Length(s) do //Строки начинаются с 1-ы, а Length возвращает значение, включающее 0-ль begin buff[1]:=s[i]; //Если текущий символ - пробел, а предыдущий им не был, то это конец слова. if (Buff[1] = ' ') and not (Buff[0] = ' ') then begin //Длинна слова iwLen:=Length(sWord)-1; if (iwLen = aLen) then rCount:=rCount+1; sWord:=''; end else begin //Складываем слово. sWord:=sWord+Buff[1]; end; buff[0]:=Buff[1]; end; Result:=rCount; end;
автор: Человек_Борща
Поделиться: