27.06.2012, 14:24 | #1 (permalink) |
Новичок
Регистрация: 27.06.2012
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Паскаль, строки
1)Дана строка символов. Дано слово. Удалить из строки все вхождения этого слова. 2)Дана строка символов, содержащая текст, заканчивающийся точкой. Вывести на экран те слова, которые содержат хотя бы одну букву s |
27.06.2012, 14:24 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Нашлось еще несколько тем, которые создавались ранее Строки. Паскаль Паскаль. Строки Строки, Паскаль Паскаль, символы и строки |
27.06.2012, 15:14 | #2 (permalink) | ||
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Да без проблем!
Цитата:
Код:
Var S,S1:String; p:Byte; Begin Writeln('Enter the string:'); Readln(S); Writeln('Enter the word:'); Readln(S1); Repeat p:=pos(S1,S); If p>0 then Delete(S,p,Length(S1)); Until p=0; Writeln(S); Readln End. Цитата:
Код:
Var S,S1:String; i,j:Byte; b:boolean; Begin Repeat Writeln('Enter the string:'); Readln(S); If S[Length(S)]<>'.' then Writeln('Last symbol must be "."!'); Until S[Length(S)]='.'; i:=0; Repeat Inc(i); If (i=1) or ((i>1) and (S[i-1]=' ')) then begin S1:=''; repeat S1:=S1+S[i]; inc(i); until (S[i]=' ') or (S[i]='.'); j:=0; b:=false; repeat inc(j); If S1[j]='s' then b:=true; until b or (j=length(S1)); If b then write(S1+' '); end; Until S[i]='.'; Readln; End. |
||
27.06.2012, 19:34 | #3 (permalink) |
Новичок
Регистрация: 27.06.2012
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Владимир. не могли бы вы посмотреть еще 2 задачи?
1) Упорядочить символы строки, стоящие на местах с чётными номерами, в алфавитном порядке, стоящие на местах с нечётными номерами – в порядке, обратном алфавитному. 2)Дана строка, содержащая предложения, разделенные точкой. Вывести те из них, которые содержат заданное слово. |
27.06.2012, 20:04 | #4 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Const N=60; Var S:String; i,j:Byte; C:Char; Begin Randomize; S:=''; For i:=1 to N do S:=S+Chr(97+Random(26)); Writeln(S); Writeln; For i:=1 to (N div 2) do For j:=1 to (N div 2)-i do If ((j*2+2)<=Length(S)) and (S[j*2]>S[j*2+2]) then begin C:=S[j*2+2]; S[j*2+2]:=S[j*2]; S[j*2]:=C; end; For i:=1 to (N div 2) do For j:=1 to (N div 2)-i do If ((j*2+1)<=Length(S)) and (S[j*2-1]<S[j*2+1]) then begin C:=S[j*2+1]; S[j*2+1]:=S[j*2-1]; S[j*2-1]:=C; end; Writeln(S); Readln End. |
|
27.06.2012, 20:23 | #5 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Var S,S1,W:String; i,p:Byte; Begin Repeat Writeln('Enter the string:'); Readln(S); If S[Length(S)]<>'.' then Writeln('Last symbol must be "."!'); Until S[Length(S)]='.'; Writeln('Enter the word:'); Readln(W); i:=0; Repeat Inc(i); If (i=1) or ((i>1) and (S[i-1]='.')) then begin S1:=''; repeat S1:=S1+S[i]; inc(i); until S[i]='.'; p:=Pos(W,S1); If p>0 then begin if S1[1]=' ' then Delete(S1,1,1); Writeln(S1); end; end; Until i=Length(S); Readln; End. |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
27.06.2012, 20:45 | #6 (permalink) |
Новичок
Регистрация: 27.06.2012
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
спасибо вам огромное Владимир!)))
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|