String57. Дана строка-предложение с избыточными пробелами между словами. Преобразовать ее так, чтобы между словами был ровно один пробел.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
program String57; var S:String; i:integer; begin Write('S: '); Readln(S); i:=2; While (i<=length(S)) do begin if (s[i-1]=' ') and (s[i]=' ') then begin Delete(S,i,1); dec(i); end; inc(i); end; Writeln(S); end. |
Решение 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
program String57; var S:String; poz:integer; begin Write('S: '); Readln(S); poz:=pos(' ',S); While (poz<>0) do begin Delete(S,poz,1); poz:=pos(' ',S); end; Writeln(S); end. |
Другие задачи из раздела String можно посмотреть здесь.
Комментарии: