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

Найти в файле f1 все заменяемые слова и заменять их замещающими

12.10.2010, 11:20. Просмотров 3400. Ответов 4
Метки нет (Все метки)

задание: программа должна считать текст из текстового фала и пользователь вводит два слова, первое - слово которое будет искаться в тексте, второе - на которое будет заменено первое слово если оно будет найденно в тексте. после нахождения текстовой файл перезаписывается с учётом этих изменений.

(я просто уже не знаю что здесь делать, перерыл весь этот форум и ещё пару похожих но ничего подобного не нашол. точнее подобное есть, но возникают каждый раз одни и теже проблемы.
например: ввожу текст "озеро ива".
в поиске указываю слово - озер.
замена слова лес.
в итоге мне выводит "лесо ива".
и два слова он не видит если они одинаковые.. заменяет только первое найденое.)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2010, 11:20
Ответы с готовыми решениями:

Дано слово р и файл f. Найти в файле f все слова, которые можно составить из букв слова р
Дано слово р и файл f. Найти в файле f все слова, которые можно составить из...

Найти в файле f все слова, которые представляют числа (в десятичной записи)
Найти в файле f все слова, которые представляют числа (в десятичному записи) и...

Найти в файле f все слова, слева направо и наоборот читаются одинаково и составить из них новый файл q
Найти в файле f все слова, слева направо и наоборот читаются одинаково и...

заменять слова в массиве
помогите, пожалуйста, написать программу, заменяющую слово в массиве на...

Как заменять английские слова на русские в Паскале?
Вот такая задача. Может кто знает как решить? Ввести построчно текст...

4
Puporev
Модератор
54419 / 41988 / 28998
Регистрация: 18.05.2008
Сообщений: 98,910
12.10.2010, 11:25 #2
Цитата Сообщение от tritonn88 Посмотреть сообщение
в поиске указываю слово - озер.
замена слова лес.
Так и искать нужно не сочетание букв озер, а именно слово озер, то есть эти 4 буквы должны быть
- либо первыми в строке и за ними разделитель
- либо перед и за ними разделитель
- либо они последние и перед ними разделитель.
0
tritonn88
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 6
12.10.2010, 11:28  [ТС] #3
мм.. а можно повторить тоже самое, но по русски и максимально упращённоО_о
0
Puporev
Модератор
54419 / 41988 / 28998
Регистрация: 18.05.2008
Сообщений: 98,910
12.10.2010, 11:34 #4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

А я вам что, по английски написал???
То что на форуме нет того что вам нужно, то вы врете, только я не один десяток программ на поиск слов в строке писал. Конечно 1:1 вашей может и нет, но нужно же и свой мозг чуть напрячь.
А хамить будете, отдыхать по полной будете.
Вот пример поиска и замены слов в строке, файлы сами прикрутите, русская блин...

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
28
29
30
31
32
33
34
35
36
uses crt;
const rz=[' ',',','.',';',':','!','?','''','"'];
var s,s1,s2,sp,sz:string;
    i,k:byte;
begin
clrscr;
writeln('Введите строку с разделителями');
readln(s);
writeln('Введите слово для поиска');
readln(sp);
writeln('Введите слово для замены');
readln(sz);
s2:='';
i:=1;
while i<=length(s) do
if not(s[i]in rz)and ((s[i-1] in rz)or(i=1)) then
{если буква, а перед ней разделитель или она первая}
 begin
  k:=i;s1:='';
  while not(s[k] in rz)and(k<=length(s))do {пока не разделитель и не конец строки}
   begin
    s1:=s1+s[k];{составляем слово}
    k:=k+1;{по 1 символу}
   end;
  if s1=sp then s2:=s2+sz{если нужное}
  else s2:=s2+s1;{если нет}
  i:=i+length(s1);{перепрыгиваем через слово}
 end
else{если разделитль}
 begin
  s2:=s2+s[i];{дописываем}
  i:=i+1;{на 1 вперед}
 end;
write(s2);
readln
end.
1
pretty
0 / 0 / 0
Регистрация: 14.04.2013
Сообщений: 24
09.12.2013, 19:28 #5
А как на С++ ?
0
09.12.2013, 19:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2013, 19:28

Найти в файле слова, в которых есть вхождение слова "abc", и записать их в новый файл
Создать текстовый файл. Найти в нем слова , в которых есть вхождение слова &quot;...

Заменить в текстовом файле все вхождения одного слова на другое
Даны два текстовых файла f1 и f2. Файл f1 содержит произвольный текст. Слова в...

Найти все такие слова, в которых все буквы различны
В данном тексте найти все такие слова, в которых все буквы различны. Словом в...


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

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

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