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

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

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

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

30.03.2011, 13:32. Просмотров 451. Ответов 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++
после компиляции и выполнения программы borland c++ выскакивает черное окошко с информацией как достать оттуда текст в блокнот?

Разбить файл на текст и числа - C++
2.Дан текстовый файл. В каждом его строке первые 30 позиций отводятся под текст, а оставшаяся часть - под действительное число. Создать два...

Записать текст из консоли в файл - C++
Написать программу выводящую текст в файл (system("echo text >> text.txt") не подходит, так как пользователь сам должен вводить текст). ...

Не правильно сохраняет текст в файл - C++
int otchet(l_lib *l, int lines_count) { int X = 0; int Q = 0; int P = 0; char *fname = (char *)malloc(64); /* имя файла */ ...

Хочу записать текст в файл host - C++
Вот хочу сделать программу которая будет записать сайты(которые пользователь пожелает) в файл host, что бы на них не переходить. вот...

Создать файл и добавить в него текст - C++
как и в прошлой теме. дописываю свою программу. теперь она должна создать фаил под названием logininfo.py и добавить в него текст ...

Структуры. Не выводит текст в таблицу и файл - C++
В столбцах "Назв.", "Язык", "Валюта" не выводит текст, хотя цифры правильно выводит, не пойму в чем причина Скрин: Вот код: ...

Закодировать и сохранить закодированый текст в файл - C++
Задание: Имеется тестовый файл в нем строка на английском языке (Hello world например). Надо файл открыть,считать текст, закодировать...

Как записать русский текст в файл? - C++
std::ofstream m_fOutput(PathFile); std::string Error = "Ошибка открытия файла"; if (!m_fOutput.is_open()) throw Error;...


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

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

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