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

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

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

Студворк — интернет-сервис помощи студентам
Задание: даны три строки: 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.02.2010, 02:47
Ответы с готовыми решениями:

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

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

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

4
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
20.02.2010, 03:00
Попробуй так
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  [ТС]
Всё равно чисто первую строку выводит, а вхождения не меняет...
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
20.02.2010, 03:05
Natawa, а ты ничего не путаешь? У меня все работает.
Вводи первое
as qw as qw as qw
Второе
as
Третье
!!!
Результат будет
!!! qw !!! qw !!! qw
Проверь.
0
1 / 1 / 0
Регистрация: 18.02.2010
Сообщений: 15
20.02.2010, 03:20  [ТС]
А ну да работает)))) Большое спасибо...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.02.2010, 03:20
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru