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

Нахождение подстрок и их замена. - Pascal

25.08.2010, 20:04. Просмотров 972. Ответов 9
Метки нет (Все метки)

"Поиск в строке всех вхождений подстрок и их(всех повторений подстроки) на другую последовательность символов"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2010, 20:04
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Нахождение подстрок и их замена. (Pascal):

Подсчет подстрок по формуле
Ребят, такие дела, помогите плиз, нужно подсчитать количество 'АВ', в строке,...

Запись подстрок строки в массив
Пользователь вводит строку из букв и пробелов. Записать все слова из этой...

Выведите количество подстрок строки a, являющихся циклическими сдвигами строки b
Строки (Время: 1 сек. Память: 16 Мб Сложность: 34%) Циклическим сдвигом...

Описать функцию, которая возвращает количество подстрок в строке
1. Описать функцию, которая возвращает количество подстрок в строке и эта...

Определить количество уникальных подстрок из 3 символов, входящих в заданную строку
Прошу знающих людей помочь мне в выполнении этой задачи. P. S. Строка...

Среди выделенных подстрок найти подстроку, содержащую символ с минимальным кодом
Дано k литерных строк. Каждая строка содержит латинские и русские буквы, цифры...

9
iama
1326 / 979 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
25.08.2010, 20:30 #2
Меффистоф, ты хотел сказать, и замена?

Добавлено через 3 минуты
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
var s, sub, rep: string;
function ReplaceStr(const S, Srch, Replace: string): string;
var
 I:Integer;
 Source:string;
begin
 Source:= S;
 Result:= '';
 repeat
  I:=Pos(Srch, Source);
  if I > 0 then begin
   Result:=Result+Copy(Source,1,I-1)+Replace;
   Source:=Copy(Source,I+Length(Srch),MaxInt);
  end else Result:=Result+Source;
 until I<=0;
end;
 
begin
write('Введите строку: '); readln(s);
write('Введите подстроку для замены: '); readln(sub);
write('Введите строку, которой нужно заменить подстроку: '); readln(rep);
writeln(ReplaceStr(s, sub, rep));
readln;
end.
0
Puporev
Модератор
54136 / 41769 / 28880
Регистрация: 18.05.2008
Сообщений: 98,311
25.08.2010, 20:42 #3
В Паскале это работать не будет, result нету...
0
iama
1326 / 979 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
25.08.2010, 20:53 #4
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
var s, sub, rep: string;
function ReplaceStr(const S, Srch, Replace: string): string;
var
 I:Integer;
 Source:string;
begin
 Source:= S;
 ReplaceStr:= '';
 repeat
  I:=Pos(Srch, Source);
  if I > 0 then begin
   ReplaceStr:=ReplaceStr+Copy(Source,1,I-1)+Replace;
   Source:=Copy(Source,I+Length(Srch),MaxInt);
  end else ReplaceStr:=ReplaceStr+Source;
 until I<=0;
end;
 
begin
write('Введите строку: '); readln(s);
write('Введите подстроку для замены: '); readln(sub);
write('Введите строку, которой нужно заменить подстроку: '); readln(rep);
writeln(ReplaceStr(s, sub, rep));
readln;
end.
точней так
0
Puporev
Модератор
54136 / 41769 / 28880
Регистрация: 18.05.2008
Сообщений: 98,311
25.08.2010, 21:24 #5
Так тоже не будет, нельзя использовать функцию как параметр.
В этой строке например выдаст ошибку
ReplaceStr:=ReplaceStr+Copy(Source,1,I-1)+Replace;
0
iama
1326 / 979 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
25.08.2010, 21:45 #6
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
var s, sub, rep: string;
function ReplaceStr(const S, Srch, Replace: string): string;
var
 I:Integer;
 Source, res:string;
begin
 Source:= S;
 res:= '';
 repeat
  I:=Pos(Srch, Source);
  if I > 0 then begin
   res:=res+Copy(Source,1,I-1)+Replace;
   Source:=Copy(Source,I+Length(Srch),MaxInt);
  end else res:=res+Source;
 until I<=0;
 ReplaceStr = res;
end;
 
begin
write('Введите строку: '); readln(s);
write('Введите подстроку для замены: '); readln(sub);
write('Введите строку, которой нужно заменить подстроку: '); readln(rep);
writeln(ReplaceStr(s, sub, rep));
readln;
end.

Не по теме:

грёбаный паскаль...

0
Puporev
25.08.2010, 21:51
  #7

Не по теме:

Цитата Сообщение от iama Посмотреть сообщение
грёбаный паскаль...
Да уж, зато думать учит....

1
iama
25.08.2010, 21:53
  #8

Не по теме:

Цитата Сообщение от Puporev Посмотреть сообщение
Да уж, зато думать учит....
плюсую, отсутствие большого багажа стандартных функций развивает моск

0
Меффистоф
0 / 0 / 0
Регистрация: 20.11.2009
Сообщений: 8
26.08.2010, 00:16  [ТС] #9
res:= '';



Ошибку выдает всегда
0
Puporev
Модератор
54136 / 41769 / 28880
Регистрация: 18.05.2008
Сообщений: 98,311
26.08.2010, 05:52 #10
Меффистоф, Проверил, никакой ошибки в этой строке нет, опечатка здесь
ReplaceStr = res; нужно ReplaceStr:= res;
0
26.08.2010, 05:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2010, 05:52
Привет! Вот еще темы с решениями:

Сколько есть подстрок четной длины у строки S, которые являются палиндромами
помогите с данной задачкой... У Азизхана есть строка S. Его интересует...

Описать процедуру, по которой определяется число подстрок в строке и эта информация добавляется в конец строки
Описать процедуру, по которой определяется число подстрок в строке и эта...

Молниеносное нахождение подстрок
Воодится число тестов. Далее каждый тест содержит 2 строки. Подстроку и текст....

Замена подстрок
Здравтсвуйте. Подскажите пожалуйста как в тексте заменить один кусок текста...


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

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

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