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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
yuliyayuliya28
3 / 3 / 0
Регистрация: 06.03.2011
Сообщений: 319
#1

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

30.03.2011, 13:32. Просмотров 441. Ответов 0
Метки нет (Все метки)

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


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



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++ Сохранить текст Кириллицы в файл
C++ Хочу записать текст в файл host
C++ Создать файл и добавить в него текст
Как в файл вывести русский текст? C++
Закодировать и сохранить закодированый текст в файл C++
C++ Скопировать текст из консоли в файл
C++ Структуры. Не выводит текст в таблицу и файл
C++ Как записать весь текст в файл
Разбить файл на текст и числа C++
Как записать русский текст в файл? C++
Создать файл и записать в него текст C++

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

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

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