Помощь - Поиск - Пользователи - Календарь
Полная версия: Строковый тип
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Selena
Помогите решить задачи по строковым типам:
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
по поводу второй не понимаю смысл задания ;)
а в первой все просто!

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
klem4, на всякий случай я бы сделал так:
if upcase(s[bword])=upcase(s[pred(i)]) then inc(count);

:yes:

Selena, это только в том случае если "T" и "t" нужно считать одной буквой. Если нет - все оставляй по-прежнему...
klem4
все что пришло в голову :
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
Спасибо огромное!!!!!
:hi:
Selena
Смысла, во 2 вообще нет. Это у нас такая лаба.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.