С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
1 / 1 / 0
Регистрация: 18.02.2010
Сообщений: 15
1

Заменить в строке S1 первое (последнее или все) вхождения строки S2 на S3

20.02.2010, 02:47. Показов 2806. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание: даны три строки: S1, S2, S3. Заменить в строке S1 первое (последнее или все) вхождения строки S2 на S3. Не могу понять почему не работает.. в ЧЁМ ОШИБКА?
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
program L10;
Type St = string[10];
Var
S1, S2, S3, S4: st;
P, DL: integer;
Begin
Writeln ('Type character strings');
write ('S1:');
Readln(S1);
Write('S2:');
Readln(S2);
Write('S3:');
Readln(S3);
S4:='';
DL:=Length(S2);
P:=pos(S2, S1);
While P>0 do
Begin
Dec(P);
S4:=S4+Copy(S1,1,P)+S3;
Delete(S1,1,P+DL);
P:=pos(S2, S1);
End;
S1:=S4+S1; {Поправил}
Writeln('New word: ', S1);
Readln
End.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.02.2010, 02:47
Ответы с готовыми решениями:

Заменить в строке S1 первое (последнее или все) вхождения строки S2 на S3
Задание: даны три строки: S1, S2, S3. Заменить в строке S1 первое (последнее или все) вхождения...

Строки. Заменить в строке S все вхождения строки S1 на строку S2
помогите, пожалуйста.. даны строки S, S1 и S2. заменить в строке S все вхождения строки S1 на...

Заменить в строке S1 все вхождения строки S2 на S3
Даны три строки S1, S2, S3. Заменить в строке S1 все вхождения строки S2 на S3.

Даны три строки S1,S2, S3 . Заменить в строке S1 все вхождения строки S2 на S3.
Даны три строки S1,S2, S3 . Заменить в строке S1 все вхождения строки S2 на S3.

4
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
20.02.2010, 03:00 2
Попробуй так
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
program L10;
Var
S1, S2, S3, S4: string;
P, DL: integer;
Begin
Writeln ('Type character strings');
write ('S1:');
Readln(S1);
Write('S2:');
Readln(S2);
Write('S3:');
Readln(S3);
S4:='';
DL:=Length(S2);
P:=pos(S2, S1);
While P>0 do
Begin
Dec(P);
S4:=S4+Copy(S1,1,P)+S3;
Delete(S1,1,P+DL);
P:=pos(S2, S1);
End;
S1:=S4+S1; {Ïîïðàâèë}
Writeln('New word: ', S1);
Readln
End.
0
1 / 1 / 0
Регистрация: 18.02.2010
Сообщений: 15
20.02.2010, 03:02  [ТС] 3
Всё равно чисто первую строку выводит, а вхождения не меняет...
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
20.02.2010, 03:05 4
Natawa, а ты ничего не путаешь? У меня все работает.
Вводи первое
as qw as qw as qw
Второе
as
Третье
!!!
Результат будет
!!! qw !!! qw !!! qw
Проверь.
0
1 / 1 / 0
Регистрация: 18.02.2010
Сообщений: 15
20.02.2010, 03:20  [ТС] 5
А ну да работает)))) Большое спасибо...
0
20.02.2010, 03:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2010, 03:20
Помогаю со студенческими работами здесь

В первой строке заменить все вхождения строки 2 на строку 3
С клавиатуры вводится 3 строки . В первой строке заменить все вхождения строки 2 на строку 3....

Заменить в строке S1 первые, последнее и все вхождения строки S2 на S3.
Даны три строки: S1, S2, S3. Заменить в строке S1 первые, последнее и все вхождения строки S2 на...

Заменить в строке S1 первые, последнее и все вхождения строки S2 на S3
Вот программа к задаче! Вот в чем вопрос, как работает вот это cin.getline(text,1024); ...

Даны три строки: S1, S2, S3. Заменить в строке S1 первое вхождения строки S2 на S3
Я сделал программу которая заменяет ВСЕ вхождения строки s2 в строке s1 на s3, но как сделать, что...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru