Помогите решить задачи по строковым типам: 1.Дан текст, подсчетать в нем количество букв начинающихся и заканчивающихся на одну и туже букву. 2. Дан текст "'В киоске продают газеты стоимостью 5 руб. и журнал, стоимостью 50 руб.", нужно сформировать из этого текста текст: "'В киоске продают газеты стоимостью 10 руб. и 2 журнала, стоймостью 100 руб.".
В принципи я это зделала: st1:='10'; st2:='2 журнала'; st3:='100'; begin tekst:=t;m:=Length(tekst); delete(tekst,36,1); delete(tekst,44,6); delete(tekst,57,2); End Else WriteLn(f,'Слово "стоимость" не содержится в тексте 2 раза'); Insert(st1,tekst,36); Insert(st2,tekst,46); Insert(st3,tekst,68); WriteLn(f,'Преобразованный текст:');WriteLn(f,tekst);
Но оказалось что это надо делать с помощью цикла For. Подскажите как! Спасибо огромноеЙ :yes:
klem4
26.05.2005 20:24
по поводу второй не понимаю смысл задания ;) а в первой все просто!
uses crt; const limits=[#0..#32,'.',',',';','!','?']; var s:string; i,bword,count:integer;
Begin clrscr; write('s='); readln(s); i:=1; count:=0;
while i<=length(s) do begin while(i<=length(s))and(s[i] in limits) do inc(i); if i<=length(s) then begin bword:=i; while(i<=length(s))and(not(s[i] in limits)) do inc(i); if s[bword]=s[pred(i)] then inc(count); end; end;
writeln('count=',count); readln; end.
;)
volvo
26.05.2005 20:48
klem4, на всякий случай я бы сделал так:
if upcase(s[bword])=upcase(s[pred(i)]) then inc(count);
:yes:
Selena, это только в том случае если "T" и "t" нужно считать одной буквой. Если нет - все оставляй по-прежнему...
klem4
26.05.2005 21:45
все что пришло в голову : 2)
uses crt; var s,s1:string; i:integer;
Begin clrscr; s:='В киоске продают газеты стоимостью 5 руб. и журнал стоимостью 50 руб.'; writeln(s); s1:='5 руб. и журнал стоимостью 50 руб.'; i:=1; if pos(s1,s)<>0 then begin while copy(s,i,length(s1))<>s1 do inc(i); delete(s,i,length(s1)); insert('10 руб. и 2 журнала стоимостью 100 руб.',s,i); end;
writeln(s); readln; end.
;)
Selena
26.05.2005 22:39
Спасибо огромное!!!!! :hi:
Selena
26.05.2005 22:41
Смысла, во 2 вообще нет. Это у нас такая лаба.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.