0 / 0 / 0
Регистрация: 09.01.2018
Сообщений: 9
1

Изменить программу "Добавление префикса к каждому слову в файле"

09.01.2018, 21:56. Показов 1258. Ответов 7

Author24 — интернет-сервис помощи студентам
Задача - программа читает txt файл и добавляет префикс 'ак' к каждому слову, записывая то что вышло в отдельный файл и в memo.
Запись в отдельный файл и в мемо не реализована в стыреном коде, потому думаю в начале дублировать исходный файл (тем самым не изменяя стыреный код), а в мемо записать пока не знаю как.
Делаю не себе, потому прошу помочь, если не мне, то одногрупнику
Код стырил с этого же сайта, он почти идеально подходит
ссылка
замена символов

Delphi
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
var
F: textfile; // переменная текстового файла.
tmp: TStrings; // переменная класса TStrings - нужна для создания
// многострочного "редактора ввода" - так я его называю :)
i, j: integer; // переменная счетчика - для "прокрутки" строк.
l: integer; // для количества строчек в нашем редакторе.
tmp_str, s: string; // для считывания строки из файла.
begin
 
tmp:= TStringList.Create; // создали многострочный редактор ввода текста.
l:= 0; // количество считанных строчек.
 
AssignFile(F, 'Файл.txt'); // связали файл с файловой переменной.
Reset(F); // открыли файл на чтение.
while not eof(F) do   // Пока не дошли до конца файла...
begin
Readln(F, tmp_str);  // Читаем файл построчно
// и записываем каждую строчку в строку нашей переменной.
tmp.Add(tmp_str);
inc(l); // увеличили счетчик на 1.
end;
// закончили считывание файла.
CloseFile(F); // закрыли файл.
 
// теперь обрабатываем наш "редактор" - то есть считанный текст.
 
 
 
for i:= 0 to l - 1 do // от первой строки до последней делай.
begin
s:= ''; // очищаем строку для редактирования нашего текста.
tmp_str:= tmp[i]; // взяли отдельную строчку в редакторе.
for j:= 0 to length(tmp_str) - 1 do // от первого символа только что взятой строки делай.
begin
// заменили маленькую букву "а" на "б"
if (tmp_str[j] = 'а') then
tmp_str[j]:= 'б';
// заменили большую букву "А" на букву "Б"
if tmp_str[j] = 'А' then
tmp_str[j]:= 'Б';
 
s:= s + tmp_str[j]; // добавили к строке символ.
end;
tmp[i]:= s; // заменили строчку в редакторе.
end;
 
// обработали нащ редактор. Теперь надо его занести обратно в файл.
 
AssignFile(F, 'Файл.txt');  // связали файл с файловой переменной.
Rewrite(F); // открыли файл на перезапись.
for i:= 0 to l - 1 do  // от первой до последней строчк редактора делай.
begin
writeln(F, tmp[i]);  // записывай в файл F строку номер I.
end;
CloseFile(F);  // закрыли файл.
 
 
// радуйся жизни! :)))
 
 
end;
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2018, 21:56
Ответы с готовыми решениями:

Добавление подстроки к каждому слову строки
Имеется задание: Ввести с клавиатуры строку. Добавить к каждому слову подстроку "бай". Пример ->...

Поток string (получить доступ к каждому слову строки и к каждому символу каждого слова для сортировки)
#include<iostream> #include<fstream> #include<string> using namespace std; int main() { ...

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

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

7
5486 / 4401 / 1076
Регистрация: 29.08.2013
Сообщений: 27,576
Записей в блоге: 3
09.01.2018, 22:04 2
вопрос то в чем?
0
0 / 0 / 0
Регистрация: 09.01.2018
Сообщений: 9
09.01.2018, 22:12  [ТС] 3
qwertehok,
В том что в оригинале замена одного символа, а у меня ' ' заменяет на ' ак', то есть символов больше.
Миниатюры
Изменить программу "Добавление префикса к каждому слову в файле"  
0
0 / 0 / 0
Регистрация: 09.01.2018
Сообщений: 9
09.01.2018, 22:20  [ТС] 4
Уже третий час борюсь с кодом этим, для меня с непривычки это отразилось на столько, что даже сути вопроса в шапке не написал

Добавлено через 6 минут
qwertehok, вся надежда на тебя, завтра на 10 утра (по Киеву) на экзамен и нужно нести прогу
0
5486 / 4401 / 1076
Регистрация: 29.08.2013
Сообщений: 27,576
Записей в блоге: 3
10.01.2018, 00:18 5
1. автору этого кода нужно удариться головой о стену
2. писать за тебя код я не буду
3. как разделить файл на слова обсуждали 100500 раз. ищи поиском по форуму
0
northener
10.01.2018, 02:02
  #6

Не по теме:

Цитата Сообщение от Splatt Посмотреть сообщение
завтра на 10 утра (по Киеву) на экзамен и нужно нести прогу
– Да я и не советовал бы вам идти завтра на экзамен. Какой смысл мучится и объяснять чужой код при полной безграмотности. Не лучше ли устроить очередной пир/гулянку, окруженным хмельными красавицами и лихими друзьями и забить на эту нафиг ненужную учёбу?
(с) Я и Михаил Афанасьевич.

0
Модератор
9459 / 6212 / 2420
Регистрация: 21.01.2014
Сообщений: 26,489
Записей в блоге: 3
10.01.2018, 07:18 7
Лучший ответ Сообщение было отмечено Splatt как решение

Решение

Цитата Сообщение от Splatt Посмотреть сообщение
прошу помочь, если не мне, то одногрупнику
А одногруппник сам стесняется зайти и спросить?

Не по теме:

Блин блинский, я бы тоже курнул того же, что и автор этого "стыренного кода"



Добавлено через 2 минуты
Splatt, а версию Дельфи чего постеснялись указать?

Добавлено через 47 секунд
А, ладно, на скрине увидел...

Добавлено через 1 час 2 минуты
В простейшем случае все решается проходом по строкам файла; для каждой строки выполнить команду:
Delphi
1
s := StringReplace(s, ' ', ' ак', [rfReplaceAll]);
но данном случае не будет учитываться то, что слово может начинаться с некоторого символа, отличного от буквы (кавычки, 'одинарные', "двойные", <угловые>, открывающие скобки всех мастей...), а так же то, что знак препинания может быть в середине строки как отдельное слово (тире, например). Надо это учитывать или нет - пес его знает, ТС об этом не сказал, его одногруппник тоже стесняется...
Поэтому Splatt, пример текстового файла приведите, с которым Вы собираетесь оперировать, чтобы потом, в ответ на предоставленный код, не получить бездоказательное "Не работает!".
1
Massaraksh7
10.01.2018, 12:01     Изменить программу "Добавление префикса к каждому слову в файле"
  #8

Не по теме:

Да уже всё. Выгнали - и в АТО.

0
10.01.2018, 12:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2018, 12:01
Помогаю со студенческими работами здесь

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

К каждому слову добавить невидимое окончание
Всем доброго времени суток! Необходимо к каждому слову в тексте (word) добавить оканчание...

Присвоить свой стиль каждому слову
Возможно ли с помощью css сделать следующее. (CMS DLE) При добавлении новости, в поле пишу слово...

Добавление префикса ключам массива
Вопрос похожий на https://www.cyberforum.ru/php/thread327247.html Но тут суть в том что...

Алгоритм для добавления символа к каждому слову
Имеется большое число(32 000) написанных в столбец слов в текстовом файле (txt) Пример one two ...

Обрабатывать нажатие отдельно по каждому слову в TextBox
Всем здравия, форумчане! Нужен совет: как можно обрабатывать нажатие отдельно по каждому слову в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru