IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Строковый тип
Selena
сообщение 26.05.2005 16:16
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Женский
Реальное имя: Ольга

Репутация: -  0  +


Помогите решить задачи по строковым типам:
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:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 5)
klem4
сообщение 26.05.2005 16:24
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


по поводу второй не понимаю смысл задания ;)
а в первой все просто!

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.


;)


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.05.2005 16:48
Сообщение #3


Гость






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

:yes:

Selena, это только в том случае если "T" и "t" нужно считать одной буквой. Если нет - все оставляй по-прежнему...
 К началу страницы 
+ Ответить 
klem4
сообщение 26.05.2005 17:45
Сообщение #4


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


все что пришло в голову :
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.



;)

Сообщение отредактировано: klem4 - 26.05.2005 17:50


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Selena
сообщение 26.05.2005 18:39
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Женский
Реальное имя: Ольга

Репутация: -  0  +


Спасибо огромное!!!!!
:hi:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Selena
сообщение 26.05.2005 18:41
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 39
Пол: Женский
Реальное имя: Ольга

Репутация: -  0  +


Смысла, во 2 вообще нет. Это у нас такая лаба.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 26.07.2025 9:26
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"