Форум программистов, компьютерный форум CyberForum.ru

Текст и файл.... - C++

Восстановить пароль Регистрация
 
yuliyayuliya28
3 / 3 / 0
Регистрация: 06.03.2011
Сообщений: 319
30.03.2011, 13:32     Текст и файл.... #1
Дан файл, содержащий текст на русском языке. В предложениях некоторые из слов записаны подряд несколько раз (предложение заканчивается точкой или восклицательным знаком). Получить в новом файле отредактированный текст, в котором удалены повторные вхождения слов в предложение.


Нашла на делфи...кто нибудь мог бы переписать её на с/с++?Заранее спасибо....



procedure TForm1.Button1Click(Sender: TObject);
const
Fn1 = 'file1.txt';
Fn2 = 'file2.txt';
//Список разделителей слов.
D = [' ', '.', ',', ':', ';', '!', '?', '-', #9, #10, #13];
var
F1, F2 : TextFile;
S, CurWord, LastWord : String;
i, P1, P2, LenS, LenWord : Integer;
begin
AssignFile(F1, Fn1);
Reset(F1);
AssignFile(F2, Fn2);
Rewrite(F2);

while not Eof(F1) do begin
Read(F1, S);

LenS := Length(S);
P1 := 0;
P2 := 0;
LastWord := '';
//Перебор символов прочитанной строки справа - налево.
//Т. е., по ходу движения, "предыдущее" слово - справа, "следующее" слово - слева.
for i := LenS downto 1 do begin
//Пропускаем разделители.
if S[i] in D then Continue;
//Отслеживаем конец слова.
if (i = LenS) or (S[i + 1] in D) then
P2 := i
;
//Отслеживаем начало слова.
if (i = 1) or (S[i - 1] in D) then begin
P1 := i;
LenWord := P2 - P1 + 1;
//Определяем очередное слово.
CurWord := Copy(S, P1, LenWord);
//Сравниваем текущее слово с предыдущим. Если равны - удаляем текущее слово
//из строки.
if CurWord = LastWord then
Delete(S, P1, LenWord)
;
LastWord := CurWord;
end;
end;

Write(F2, S);
if not Eof(F1) then begin
Readln(F1);
Writeln(F2);
end;
end;

CloseFile(F1);
CloseFile(F2);
end;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2011, 13:32     Текст и файл....
Посмотрите здесь:

C++ Сохранить текст Кириллицы в файл
C++ пдскажите функцию которая выводит русский текст на экран и его заголовочный файл с++ но не system ( " echo текст " );
C++ Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в другом файле тот же текст, записанный заглавными буквами
Дан файл, содержащий текст на русском языке. Выяснить, входит ли данное слово в указанный текст, и если да, то сколько раз C++
дан текстовый файл.определить количество нечетных чисел и записать их в др текст файл C++
Дан файл, содержащий текст на русском языке. Выяснить, входит ли данное слово в указанный текст, и если да, то сколько раз C++
Дан текстовый файл f. Переписать текст в файл g, удалив все группы букв s (s передается параметром) C++
Разбить файл на текст и числа C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 21:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru