Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 1
Регистрация: 16.02.2013
Сообщений: 21

программа, которая открывает текстовый документ и заменяет в нем слова по требованию

19.02.2013, 18:02. Показов 3670. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
я что-то сделала, но почему-то не работает помогите, пожалуйста! заранее спасибо!

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program test;
var f,f2:text;
str:string;
begin
assign (f, '1.txt');
reset (f);
rewrite (f);
while not eof (f) do
begin
readln(f,str);
writeln (str);
end;
close (f);
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.02.2013, 18:02
Ответы с готовыми решениями:

Программа которая заменяет повторяющиеся слова
Приветствую всех,такая вот задачка у меня не получается.. Дан мне текст из 20 слов и надо чтобы он находил повторяющееся слово,а я уже...

Программа которая открывает текстовый файл
Напишите программу, которая открывает текстовый файл, читает его символ за символом до самого конца и сообщает количество символов в...

Программа, которая просто открывает текстовый файл
Здравствуйте, товарищи. Мне нужна программа, которая будет просто открывать текстовый файл, в котором будет хранится пароль. Вот самое...

10
 Аватар для Grek!
64 / 64 / 57
Регистрация: 13.04.2010
Сообщений: 150
20.02.2013, 06:13
Твоя программа ничего не делает, кроме того что считывает строку из файла и выводит ее на экран. Как должна происходить замена? Считывается одно слово и и выводится запрос заменить или нет?
1
0 / 0 / 1
Регистрация: 16.02.2013
Сообщений: 21
20.02.2013, 16:17  [ТС]
Цитата Сообщение от Grek! Посмотреть сообщение
Твоя программа ничего не делает, кроме того что считывает строку из файла и выводит ее на экран. Как должна происходить замена? Считывается одно слово и и выводится запрос заменить или нет?
F1,f2: text;
Assign
Открыть ф1 для чтения, ф2 для записи
Пока не конец ф1 делай
1. Чтение строки из ф1
2. Строку на экран
3.ввод слова 1
4. Ввод слова 2
5. Замена
6.пишем строку в файл ф2

Вот что надо сделать, у меня совсем не то, как правильно надо?
0
 Аватар для Grek!
64 / 64 / 57
Регистрация: 13.04.2010
Сообщений: 150
20.02.2013, 18:47
Для работы программы нужно создать файл c:\1.txt ввести в него данные.
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
var
f1,f2:text;
st1,st2,s1,s2:string;
sim: set of char;
i,p:integer;
begin
sim:=['!','?',',','.',':',';'];
assign(f1,'c:\1.txt');
reset (f1);
assign(f2,'c:\2.txt');
rewrite (f2);
while not eof(f1) do
begin
readln(f1,st1);
writeln(st1);
writeln('Заменяемое слово:');
readln(s1);
writeln('Подставляемое слово:');
readln(s2);
st2:=st1;
while  pos(s1,st2)<>0 do
begin
p:=pos(s1,st2);
if ((st2[p-1]=' ')or(p-1=0)) and
((st2[p+length(s1)]=' ')or((p+length(s1)-1)=length(st2))or(st1[p+length(s1)] in sim))
then begin delete(st1,p,length(s1)); insert(s2,st1,p); delete(st2,p,length(s1)); end else  delete(st2,p,length(s1));
end;
writeln(f2,st1);
end;
close (f1); close(f2);
writeln('Проверьте файл c:\2.txt');
end.
1
0 / 0 / 1
Регистрация: 16.02.2013
Сообщений: 21
20.02.2013, 20:24  [ТС]
Цитата Сообщение от Grek! Посмотреть сообщение
Для работы программы нужно создать файл c:\1.txt ввести в него данные.
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
var
f1,f2:text;
st1,st2,s1,s2:string;
sim: set of char;
i,p:integer;
begin
sim:=['!','?',',','.',':',';'];
assign(f1,'c:\1.txt');
reset (f1);
assign(f2,'c:\2.txt');
rewrite (f2);
while not eof(f1) do
begin
readln(f1,st1);
writeln(st1);
writeln('Заменяемое слово:');
readln(s1);
writeln('Подставляемое слово:');
readln(s2);
st2:=st1;
while  pos(s1,st2)<>0 do
begin
p:=pos(s1,st2);
if ((st2[p-1]=' ')or(p-1=0)) and
((st2[p+length(s1)]=' ')or((p+length(s1)-1)=length(st2))or(st1[p+length(s1)] in sim))
then begin delete(st1,p,length(s1)); insert(s2,st1,p); delete(st2,p,length(s1)); end else  delete(st2,p,length(s1));
end;
writeln(f2,st1);
end;
close (f1); close(f2);
writeln('Проверьте файл c:\2.txt');
end.
а что такое сим? можно как-то без него?
0
 Аватар для Grek!
64 / 64 / 57
Регистрация: 13.04.2010
Сообщений: 150
20.02.2013, 20:45
Цитата Сообщение от Kate15 Посмотреть сообщение
а что такое сим? можно как-то без него?
Это множество которое содержит знаки пунктуации. Если после слова знак из множества то он не засчитывается.
Можно и без множества, но если например будет:
Строка в файле: Снег дождь, град
Заменяемое слово дождь
Подставляемое слово лёд
То это слово дождь он не заменит так как оно не пройдёт по условию. Без множества будет считать запятую как часть слова.


Но можно убрать множество и расписать в условии проверку на каждый знак пунктуации. Но тогда условие будет длинное. Если устраивает такой вариант, могу сделать.
1
0 / 0 / 1
Регистрация: 16.02.2013
Сообщений: 21
20.02.2013, 20:46  [ТС]
Цитата Сообщение от Grek! Посмотреть сообщение
Это множество которое содержит знаки пунктуации. Если после слова знак из множества то он не засчитывается.
Можно и без множества, но если например будет:
Строка в файле: Снег дождь, град
Заменяемое слово дождь
Подставляемое слово лёд
То это слово дождь он не заменит так как оно не пройдёт по условию. Без множества будет считать запятую как часть слова.


Но можно убрать множество и расписать в условии проверку на каждый знак пунктуации. Но тогда условие будет длинное. Если устраивает такой вариант, могу сделать.
а можно вариант без проверки пунктуации вообще?
0
 Аватар для Grek!
64 / 64 / 57
Регистрация: 13.04.2010
Сообщений: 150
20.02.2013, 20:52
Вот без знаков:

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
var
f1,f2:text;
st1,st2,s1,s2:string;
i,p:integer;
begin
assign(f1,'c:\1.txt');
reset (f1);
assign(f2,'c:\2.txt');
rewrite (f2);
while not eof(f1) do
begin
readln(f1,st1);
writeln(st1);
writeln('Заменяемое слово:');
readln(s1);
writeln('Подставляемое слово:');
readln(s2);
st2:=st1;
while  pos(s1,st2)<>0 do
begin
p:=pos(s1,st2);
if ((st2[p-1]=' ')or(p-1=0)) and
((st2[p+length(s1)]=' ')or((p+length(s1)-1)=length(st2)))
then begin delete(st1,p,length(s1)); insert(s2,st1,p); delete(st2,p,length(s1)); end else  delete(st2,p,length(s1));
end;
writeln(f2,st1);
end;
close (f1); close(f2);
writeln('Проверьте файл c:\2.txt');
end.
1
0 / 0 / 1
Регистрация: 16.02.2013
Сообщений: 21
20.02.2013, 20:55  [ТС]
Цитата Сообщение от Grek! Посмотреть сообщение
Вот без знаков:

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
var
f1,f2:text;
st1,st2,s1,s2:string;
i,p:integer;
begin
assign(f1,'c:\1.txt');
reset (f1);
assign(f2,'c:\2.txt');
rewrite (f2);
while not eof(f1) do
begin
readln(f1,st1);
writeln(st1);
writeln('Заменяемое слово:');
readln(s1);
writeln('Подставляемое слово:');
readln(s2);
st2:=st1;
while  pos(s1,st2)<>0 do
begin
p:=pos(s1,st2);
if ((st2[p-1]=' ')or(p-1=0)) and
((st2[p+length(s1)]=' ')or((p+length(s1)-1)=length(st2)))
then begin delete(st1,p,length(s1)); insert(s2,st1,p); delete(st2,p,length(s1)); end else  delete(st2,p,length(s1));
end;
writeln(f2,st1);
end;
close (f1); close(f2);
writeln('Проверьте файл c:\2.txt');
end.
спасибо большое! выручили!
0
 Аватар для Grek!
64 / 64 / 57
Регистрация: 13.04.2010
Сообщений: 150
20.02.2013, 20:58
Вот со знаками и без множества. На мой взгляд знаки всё-таки надо учитывать:
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
var
f1,f2:text;
st1,st2,s1,s2:string;
i,p:integer;
begin
assign(f1,'c:\1.txt');
reset (f1);
assign(f2,'c:\2.txt');
rewrite (f2);
while not eof(f1) do
begin
readln(f1,st1);
writeln(st1);
writeln('Заменяемое слово:');
readln(s1);
writeln('Подставляемое слово:');
readln(s2);
st2:=st1;
while  pos(s1,st2)<>0 do
begin
p:=pos(s1,st2);
if ((st2[p-1]=' ')or(p-1=0)) and
((st2[p+length(s1)]=' ')or((p+length(s1)-1)=length(st2))or(st2[p+length(s1)]='.')or(st2[p+length(s1)]=',')
or(st2[p+length(s1)]='!') or(st2[p+length(s1)]='?')or(st2[p+length(s1)]=':')or(st2[p+length(s1)]=';'))
then begin delete(st1,p,length(s1)); insert(s2,st1,p); delete(st2,p,length(s1)); end else  delete(st2,p,length(s1));
end;
writeln(f2,st1);
end;
close (f1); close(f2);
writeln('Проверьте файл c:\2.txt');
end.
1
0 / 0 / 1
Регистрация: 16.02.2013
Сообщений: 21
20.02.2013, 21:09  [ТС]
Цитата Сообщение от Grek! Посмотреть сообщение
Вот со знаками и без множества. На мой взгляд знаки всё-таки надо учитывать:
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
var
f1,f2:text;
st1,st2,s1,s2:string;
i,p:integer;
begin
assign(f1,'c:\1.txt');
reset (f1);
assign(f2,'c:\2.txt');
rewrite (f2);
while not eof(f1) do
begin
readln(f1,st1);
writeln(st1);
writeln('Заменяемое слово:');
readln(s1);
writeln('Подставляемое слово:');
readln(s2);
st2:=st1;
while  pos(s1,st2)<>0 do
begin
p:=pos(s1,st2);
if ((st2[p-1]=' ')or(p-1=0)) and
((st2[p+length(s1)]=' ')or((p+length(s1)-1)=length(st2))or(st2[p+length(s1)]='.')or(st2[p+length(s1)]=',')
or(st2[p+length(s1)]='!') or(st2[p+length(s1)]='?')or(st2[p+length(s1)]=':')or(st2[p+length(s1)]=';'))
then begin delete(st1,p,length(s1)); insert(s2,st1,p); delete(st2,p,length(s1)); end else  delete(st2,p,length(s1));
end;
writeln(f2,st1);
end;
close (f1); close(f2);
writeln('Проверьте файл c:\2.txt');
end.
полезная вещь, спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.02.2013, 21:09
Помогаю со студенческими работами здесь

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

Программа которая открывает текстовый файл и сообщает количество символов в файле
Напишите программу, которая открывает текстовый файл, читает его символ за символом до самого конца и сообщает количество символов в...

Программа, которая вводит текст, удаляет в нем все слова заданной длины, а оставшиеся слова выводит в алфавитн
Разработать программу, которая вводит текст, удаляет в нем все слова заданной длины, а оставшиеся слова выводит в алфавитном порядке.

Дан текстовый документ, заменить в нём все цифры на символ подчеркивания
Дан текстовый документ, заменить в нём все цифры на _

Программа-цензор. Пользователь вводит слово. Программа открывает файл text.txt, находит в нем заданное пользователем сло
Программа-цензор. Пользователь вводит слово. Программа открывает файл text.txt, находит в нем заданное пользователем слово и удаляет...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru