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

Заменить строку в текстовом файле

18.06.2014, 11:09. Показов 6255. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан текст, хранящийся в текстовом файле. Написать программу, которая позволит заменить строку в тексте
с заданным номером (вывести ее) на другую. Вывести могу, а заменить не получается, помогите.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var f:text;
i,n:integer;
s:string;
begin
assign(f,'txt.txt');
reset(f);
readln(n);
 for i:=1 to n do readln(f,s);
 writeln(s);
 
close(f);
readln
end.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.06.2014, 11:09
Ответы с готовыми решениями:

Процедура: заменить в текстовом файле каждую цифру на следующую по величине ('9' заменить на '0')
Используя подпрограмму-процедуру, заменить в текстовом файле каждую цифру на следующую по величине('9' заменить на '0').

В текстовом файле заменить все цифры на римские
Привет. Вот задача к сессии... не хватает меня что-то на нее.. Дан файл C:\1.txt, заменить в нем все цифры на римские. ...

В текстовом файле заменить последовательность символов !?! на пробелы
Помогите.

6
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
18.06.2014, 11:20
это не так просто, как может показаться.

вот, для начала, ознакомтесь с этой темой: Как перемещатся по строкам, и как удалить строку в текстовом файле
1
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 5
18.06.2014, 11:28  [ТС]
То есть, взять 2 текстовых файла? Удалить, как написано там, и вставить нужную строку.
и далее, переименовать?
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
18.06.2014, 11:36
в цикле читаем все строки из первого файла и записываем их в выходной (второй) файл.
считаем номера строк.
Как только дошли до нужной строки НЕ ПИШЕМ её в выходной файл, а пишем вместо неё новую строку (которая должна заменить старую, ведь проблема в этом, как я понимаю...)
повторяем цикл до тех пор, пока входной файл не закончится.

Если закончился и замена была, тогда удаляем исходный файл (или переименовываем его в .BAK), затем второй файл (временный), куда мы писали строки и куда вывели заменённую строку, переименовываем в исходное имя.

профит.
0
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 5
18.06.2014, 11:48  [ТС]
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
var f,f2:text;
i,n:integer;
s,s1:string;
begin
assign(f,'txt.txt');
reset(f);
readln(n);
 for i:=1 to n do readln(f,s);
 writeln(s);
 readln(s1);
 Assign (f2,'vivod.txt');
       rewrite (f2);
       i:=0;
        while not eof (f) do
         begin
          inc(i);
          readln(f,s);
          if i<>n then writeln (f2,s);
          if i=n then writeln(f2,s1);
         end;
     close (f);
     close (f2);
    erase(f);
     rename (f2, 'txt.txt');
 
readln
end.
получается, что код удаляет из файла столько строк, сколько ввел в n. и потом уже в n-ую строку вставляет строку, которую ввел для замены
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
18.06.2014, 11:56
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

чуток не так.
но в правильно направлении двигались!

попробуйте такой код:
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
var f,f2:text;
  i,n:integer;
  s:string;
begin
  assign(f,'txt.txt');
  reset(f);
  WriteLn('Введите номер строки для замены: ');
  readln(n);
  Assign (f2,'temp$$$$.txt');
  rewrite (f2);
  i:=0;
  while not eof(f) do begin  
     inc(i);
     readln(f,s);
     if i<>n then
        writeln(f2,s)
     else {нашлась строка с номером N} 
       begin
         WriteLn('Строка с номером ',N,':', s);
         WriteLn('введите новую строку (для замены): ');
         readln(s);
         writeln(f2,s);
       end;
     close (f);
     close (f2);
     erase(f);
     rename (f2, 'txt.txt');
     readln
end.
не проверял....
1
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 5
18.06.2014, 12:02  [ТС]
Премного благодарен, помогло!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.06.2014, 12:02
Помогаю со студенческими работами здесь

Заменить в текстовом файле цифры на следюущие по порядку
Дан текстовый файл, в котором помимо букв встречаются цифры. Заменить все цифры на следующие по списку, т.е. 0 на 1, 1 на 2, 2 на 3 и т.д....

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

Заменить в файле одну строку на другую
Дан символьный файл f. Написать программу, которая каждую букву &quot;б&quot; в файле f заменяет сочетанием &quot;ку&quot;. unit Program1; ...

Как перемещатся по строкам, и как удалить строку в текстовом файле
Имеется текстовый файл. Как в нем можно перемещаться по строкам, и как удалить всю строку целиком?

Дана строка S и один текстовый файл. Заменить в файле все пустые строки на строку S
Дана строка S и один текстовый файл. Заменить в файле все пустые строки на строку S. Уже сам сделал) program a1; var k:...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
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
/ * Дана цепь постоянного тока с 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/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru