Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.70/10: Рейтинг темы: голосов - 10, средняя оценка - 4.70
{INT}
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 40
1

Преобразовать строку, заменяя каждое слово this словом the

08.03.2012, 21:15. Просмотров 1806. Ответов 20
Метки нет (Все метки)

преобразовать строку, заменяя каждое слово this словом the

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2012, 21:15
Ответы с готовыми решениями:

Преобразовать строку, заменяя каждое слово this словом the--- схема
Помогите пожалуйста составить схему алгоритма . const ...

Преобразовать текст, заменяя каждое число '2' на слово 'два'
Преобразовать текст,заменяя каждое число '2' на слово 'два'

Преобразовать строку так, чтобы каждое слово было отражено зеркально
Дана строка, состоящая из слов. Преобразовать строку так, чтобы каждое слово...

заменить каждое слово синий словом зеленый
составить программы с помощью которых: -сформировать текстовый файл из...

В файле хранятся строки. Преобразовать строку, заменяя каждую цифру соответствующим ей числом пробелов
Представить данную программу в виде отдельных процедур Program 1; uses...

20
versa4e
trainspotting
1083 / 483 / 384
Регистрация: 11.11.2010
Сообщений: 773
09.03.2012, 01:07 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const
  w1='this';
  w2='the';
var
  s:string;
  i:byte;
begin
  readln(s);
  i:=1;
  while i<=length(s)-length(w1)+1 do
    begin
      if copy(s,i,length(w1))=w1 then
        begin
          delete(s,i,length(w1));
          insert(w2,s,i);
          inc(i,length(w2));
        end
      else
        inc(i);
    end;
  writeln(s);
end.
1
Dani
1393 / 637 / 134
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
Завершенные тесты: 1
09.03.2012, 11:26 3
versa4e, оно не работает. Например, введите строку
Bash
1
thiss
Она должна такой же остаться, а у вас выводит thes
1
Puporev
Модератор
55411 / 42542 / 29395
Регистрация: 18.05.2008
Сообщений: 100,630
09.03.2012, 11:45 4
Наверное так нужно
Pascal
1
2
3
if (copy(s,i,length(w1))=w1)
and((i=1)or(s[i-1]=' '))
and((i+3)=length(s)or(s[i+4]=' ')) then
1
versa4e
trainspotting
1083 / 483 / 384
Регистрация: 11.11.2010
Сообщений: 773
09.03.2012, 15:00 5
Не думаю, что можно говорить о каком-то конкретном правильном решении, пока не ясно, что может быть строке(есть ли разделители и какие именно) и нет определения "слово", и как следствие - парсить с учетом или без, поэтому в моем решении общий случай поиска и замены вхождений заданной последовательности символов на другую в строке. Инымисловамидляменя не так очевидно, как для вас, Dani, что thiss не нужно изменять ввиду недостаточности условия.
1
Puporev
Модератор
55411 / 42542 / 29395
Регистрация: 18.05.2008
Сообщений: 100,630
09.03.2012, 15:04 6
Просто в условии написано
Цитата Сообщение от {INT} Посмотреть сообщение
заменяя каждое слово
а это значит что оно должно быть отделено.
2
{INT}
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 40
10.03.2012, 10:29  [ТС] 7
Цитата Сообщение от Puporev Посмотреть сообщение
Наверное так нужно
Pascal
1
2
3
if (copy(s,i,length(w1))=w1)
and((i=1)or(s[i-1]=' '))
and((i+3)=length(s)or(s[i+4]=' ')) then
то есть где начинается 12я строчка в приведённом выше решении её нужно заменить на эти три да?
0
Puporev
Модератор
55411 / 42542 / 29395
Регистрация: 18.05.2008
Сообщений: 100,630
10.03.2012, 10:31 8
Да, заменить, или вставить 2 последние строки.
1
versa4e
trainspotting
1083 / 483 / 384
Регистрация: 11.11.2010
Сообщений: 773
10.03.2012, 11:25 9
чтобы уж совсем по-хорошему, добавил остальные разделители:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const
  delims=[' ',',',':',';','.','!','?','"'];
  w1='this';
  w2='the';
var
  s:string;
  i:byte;
begin
  readln(s);
  i:=1;
  while i<=length(s)-length(w1)+1 do
    begin
      if (copy(s,i,length(w1))=w1)
      and((i=1)or(s[i-1] in delims))
      and(((i+3)=length(s))or(s[i+4] in delims)) then
        begin
          delete(s,i,length(w1));
          insert(w2,s,i);
          inc(i,length(w2));
        end
      else
        inc(i);
    end;
  writeln(s);
end.
2
{INT}
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 40
17.05.2012, 15:32  [ТС] 10
ошибка FATAL : error "DO" expected but "indentifier LENGTH" found
Fatal :Compilation aborted



Можете помочь пожалуйста с этой ерундой...
0
Puporev
Модератор
55411 / 42542 / 29395
Регистрация: 18.05.2008
Сообщений: 100,630
17.05.2012, 15:52 11
Цитата Сообщение от {INT} Посмотреть сообщение
Можете помочь пожалуйста с этой ерундой...
Код свой косячный показывай...
0
{INT}
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 40
18.05.2012, 15:50  [ТС] 12
Puporev, прости , но я не знаю как тут вставлять изображение , я списывал с самого последнего кода в этой теме -- на первой странице
0
Puporev
Модератор
55411 / 42542 / 29395
Регистрация: 18.05.2008
Сообщений: 100,630
18.05.2012, 16:01 13
Цитата Сообщение от {INT} Посмотреть сообщение
я списывал
А не нужно списывать, нужно копировать в Блокнот и сохранять с расширением .pas
Цитата Сообщение от {INT} Посмотреть сообщение
но я не знаю как тут вставлять изображение
Код нужно показывать не картинкой, а копировать его текст.
А уж если есть необходимость прикрепить картинку или любой файл, то ссылка как это делать есть прямо под окном сообщения.
http://www.cyberforum.ru/about-forum/thread103521.html
Нельзя же так, что ни украсть, ни покараулить...
0
{INT}
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 40
19.05.2012, 21:51  [ТС] 14
Puporev, чтото я немого не понял как блокнот сохранить с расщирением pas обьясни неучу плиз.
0
Puporev
Модератор
55411 / 42542 / 29395
Регистрация: 18.05.2008
Сообщений: 100,630
19.05.2012, 21:54 15
Файл-> Сохранить как-> Все файлы, пишешь в окошечке имя.pas
1
{INT}
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 40
19.05.2012, 23:30  [ТС] 16
Puporev, Получилось запустить !! Спасбо огромное !! И работает !
0
{INT}
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 40
28.05.2012, 12:42  [ТС] 17
А можете помочь как сделать так чтобы программа полностью удаляла слово this и печатала слово the заместо него а то получается слово this остаётся и под ней печатается слово the... заранее спасибо =)
0
Puporev
Модератор
55411 / 42542 / 29395
Регистрация: 18.05.2008
Сообщений: 100,630
28.05.2012, 13:22 18
Не знаю что Вы там творите, но у меня при вводе строки
this tree this
выводит
the tree the

Добавлено через 1 минуту
Или Вы хотите чтобы не показывало входную строку?
Тогда добавьте модуль
uses Crt;
и после ввода исходной строки напишите
clrscr;
1
{INT}
0 / 0 / 0
Регистрация: 20.12.2011
Сообщений: 40
28.05.2012, 20:16  [ТС] 19
Хм а куда добавлять модуль в какую строчку не подскажите ?
0
Puporev
Модератор
55411 / 42542 / 29395
Регистрация: 18.05.2008
Сообщений: 100,630
28.05.2012, 20:31 20
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
uses crt;
const
  delims=[' ',',',':',';','.','!','?','"'];
  w1='this';
  w2='the';
var
  s:string;
  i:byte;
begin
  readln(s);
  clrscr;
  i:=1;
  while i<=length(s)-length(w1)+1 do
    begin
      if (copy(s,i,length(w1))=w1)
      and((i=1)or(s[i-1] in delims))
      and(((i+3)=length(s))or(s[i+4] in delims)) then
        begin
          delete(s,i,length(w1));
          insert(w2,s,i);
          inc(i,length(w2));
        end
      else
        inc(i);
    end;
  writeln(s);
end.
1
28.05.2012, 20:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2012, 20:31

Преобразовать каждое слово в строке
Дана строка, состоящая из русских слов, набранных заглавными буквами и...

Преобразовать каждое слово так, чтобы оно заканчивалось заглавной буквой
Дана строка слов, разделенных произвольным количеством пробелов, после...

Каждое слово текста преобразовать таким образом, чтобы оно читалось слева направо
Каждое слово текста преобразовать таким образом, чтобы оно читалось слева...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru