IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Задача на тему Текстовые файлы", текст задачи и решение внутри
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 19
Пол: Женский

Репутация: -  0  +


Дан файл, содержащий текст на русском языке. В предложениях некоторые из слов записаны подряд несколько раз (предложение заканчивается точкой или восклицательным знаком). Получить в новом файле отредактированный текст, в котором удалены повторные выражение слов в предложение

Вот нашла в инете похожую задачку, но в Паскале не идет. Объясните. Файл
F создаю. Непонятно, что такое ***********

var f:text;
s:string;
i,j,k:integer;
m:set of char;
begin write('***************************************************');
assign(f,'F11.txt');
reset(f);
m:=[' '..'п'];
writeln('Такие слова :');
while not(eof(f)) do
begin readln(f,s);
for i:=1 to length(s) do
begin k:=0;
for j:=1 to length(s) do
if (s[i] in m)and(s[j] in m)and(s[i]=s[j])
then k:=k+1;
if k=1 then write(s[i],' ');
end;
end;
close(f);
end.


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
Вот нашла в инете похожую задачку, но в Паскале не идет.
И не пойдет. Эта программа делает совсем не то, что записано в условии. Вот она, чуть-чуть подправленная ;)
var f, f_out:text;
s: string;
i: integer;

prev_word, curr_word: string;

const
{ символы русского языка }
letters = ['А' .. 'П', 'Р' .. 'Я', 'а' .. 'п', 'р' .. 'я'];

begin
assign(f, 'F11.txt');
reset(f);

assign(f_out, 'f12.txt');
rewrite(f_out);

prev_word := '';
while not(eof(f)) do begin
readln(f, s);

i := 1;
while i <= length(s) do begin

while not (s[i] in letters) and (i <= length(s)) do begin
if s[i] in ['.', '!'] then prev_word = '';
write(f_out, s[i]); inc(i);

end;

curr_word := '';
while (s[i] in letters) and (i <= length(s)) do begin
curr_word := curr_word + s[i]; inc(i)
end;

if curr_word = prev_word then
else begin
write(f_out, curr_word);
prev_word := curr_word;
end;

end;

end;
close(f_out);
close(f);
end.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 7.09.2025 2:26
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name