![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 12.03.2011
Сообщений: 14
|
![]()
Дан файл, содержащий текст на русском языке. В предложениях некоторые из слов записаны подряд несколько раз (предложение заканчивается точкой или восклицательным знаком). Получить в новом файле отредактированный текст, в котором удалены повторные вхождения слов в предложение.
Нашла на делфи...кто нибудь мог бы переписать её на с/с++?Заранее спасибо.... 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; |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 29.12.2009
Сообщений: 1,166
|
![]()
могу реализовать за небольшое вознаграждение
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть] |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 27.09.2010
Сообщений: 376
|
![]()
yuliyayuliya, посмотрите
http://www.cyberforum.ru/cpp-beginners/thread78438.html и http://deadbeef.narod.ru/work/progs/index.htm здесь что-то готовое Не разбирался, не мой язык Последний раз редактировалось OlegVE; 30.03.2011 в 17:20. |
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 12.03.2011
Сообщений: 14
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 27.09.2010
Сообщений: 376
|
![]() Цитата:
Последний раз редактировалось OlegVE; 30.03.2011 в 17:25. |
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 29.12.2009
Сообщений: 1,166
|
![]()
юля, что не понятно, спрашивайте, объясню здесь или в личке
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть] |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 12.03.2011
Сообщений: 14
|
![]()
Пробовала писать.....ничего не получается....думала просто текст разбить на слова и если слова неповторяются выводить...но чтото не так
#include "stdafx.h" #include <iostream> #include <conio.h> #include <string> using namespace std; int main() { string s; int i=0; while ( getline(cin,s) ) { s=!s[i+1]; cout<<s; i++; } _getch(); return 0; } |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 12.03.2011
Сообщений: 14
|
![]()
не посмотрите как ошибки исправить....
#include "stdafx.h" #include "iostream" #include <conio.h> using namespace std; int main() { int i=0; int j=0; FILE*str; str=fopen("n","r"); while(!feof(str)) for (i=0;i<!feof(str);i++) for(j=0;j<!feof(str);j++) if((i!=j)&&(str[i]==str[j])) cout<<str[i]; getch(); return 0; } |
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 29.12.2009
Сообщений: 1,166
|
![]()
сейчас нет времени, а потом могу забыть, стучи в аську, объясню
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть] |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Скрипт сохраняющий текст в файл | maksim1995 | PHP | 9 | 13.02.2011 12:45 |
Сохранить в текстовый файл текст из Memo и текст из нескольких Edit | misher | Общие вопросы Delphi | 5 | 02.01.2011 15:37 |
Вложить файл в текст | Malinovaya | Microsoft Office Word | 0 | 18.10.2010 16:48 |
Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в др.файле тот же текст, | develish151 | Microsoft Office Word | 4 | 05.05.2010 13:20 |
Дан файл, содержащий текст на русском языке.Составить в алфавитном порядке список слов в файл. | JiLiYa | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 26.12.2008 12:05 |