Param40. Описать функцию WordK($$S$$, $$K$$) строкового типа, возвращающую $$K$$-е слово строки $$S$$ (словом считается набор символов, не содержащий пробелов и ограниченный пробелами или началом/концом строки). Если количество слов в строке меньше $$K$$, то функция возвращает пустую строку. Используя эту функцию, выделить из данной строки $$S$$ слова с данными номерами $$K_1$$, $$K_2$$, $$K_3$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
program Param40; type St=String; var S:St; i,K:integer; Function WordK(S:St;K:integer):String; var i,NumWord:integer; Stemp:Str; begin Result:=''; NumWord:=0; S:=' '+S; For i:=1 to length(S) do begin if (S[i]=' ') and (S[i+1]<>' ') then inc(NumWord); if (NumWord=K) and (S[i]<>' ') then Result:=Result+S[i]; end; end; begin Write('S:'); Readln(S); for i:=1 to 5 do begin Write('K:'); Readln(K); Writeln(WordK(S,K)); end; end. |
Другие задачи из раздела Param можно посмотреть здесь.
Комментарии:
Комментарии 1