Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/10: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Natawa
1 / 1 / 0
Регистрация: 18.02.2010
Сообщений: 15
#1

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

20.02.2010, 02:47. Просмотров 1832. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2010, 02:47
Ответы с готовыми решениями:

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

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

В строке заменить все вхождения одной подстроки в другую
Добрый день всем участника форума! Хотелось бы задать Вам несколько вопросов...

Для заданной строки s заменить все вхождения строки substr1 на подстроку substr2
Разработать программу, которая для заданной строки s заменяет все вхождения от...

Строки(заменить все вхождения в текст)
Из строки удалить среднюю букву, если длина строки нечетная, если четная -...

4
Inadequate
Retired
7709 / 2542 / 670
Регистрация: 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
Natawa
1 / 1 / 0
Регистрация: 18.02.2010
Сообщений: 15
20.02.2010, 03:02  [ТС] #3
Всё равно чисто первую строку выводит, а вхождения не меняет...
0
Inadequate
Retired
7709 / 2542 / 670
Регистрация: 17.10.2009
Сообщений: 5,100
20.02.2010, 03:05 #4
Natawa, а ты ничего не путаешь? У меня все работает.
Вводи первое
as qw as qw as qw
Второе
as
Третье
!!!
Результат будет
!!! qw !!! qw !!! qw
Проверь.
0
Natawa
1 / 1 / 0
Регистрация: 18.02.2010
Сообщений: 15
20.02.2010, 03:20  [ТС] #5
А ну да работает)))) Большое спасибо...
0
20.02.2010, 03:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2010, 03:20

Процедура: заменить в символьной строке все вхождения одной подстроки на другую
Дано задание: "Напишите программу, которая заменяет в символьной строке все...

В каждой строке массива заменить все вхождения подстроки «cat» на «dog»
Дан массив, состоящий из n элементов строкового типа. В каждой строке заменить...

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


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

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

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