String40. Дана строка, содержащая по крайней мере один символ пробела. Вывести подстроку, расположенную между первым и последним пробелом исходной строки. Если строка содержит только один пробел, то вывести пустую строку.
Решение:
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 |
program String40; var S:string; poz1,poz2,i:integer; function miror(S:String):String; var i: integer; S2:String; begin S2:=''; for i:=1 to Length(S) do S2:=S2+S[Length(S)-i+1]; miror:=S2; end; begin Write('S:'); Readln(S); poz1:=pos(' ',S); poz2:=length(s)-pos(' ',miror(S))+1; Writeln(poz1,' ',poz2); Writeln(copy(S,poz1,poz2-poz1)); end. |
Решение от Newton:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
program String40; const Space = ' '; var Line : string; SpaceInd, Counter : byte; begin writeln('Enter a string with at least one white space: '); readln(Line); SpaceInd := Pos(Space, Line); delete(Line, 1, SpaceInd); SpaceInd := 1; for Counter := 1 to Length(Line) do if Line[Counter] = Space then SpaceInd := Counter; delete(Line, SpaceInd, Length(Line)); writeln(Line); end. |
Другие задачи из раздела String можно посмотреть здесь.
Вариант:
Добавил в шапку.