Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2010, 18:53   #1
Ejevila
Новичок
Джуниор
 
Регистрация: 20.12.2010
Сообщений: 4
Восклицание Поиск повторяющихся слов и их удаление!!!!!!!! в делфи

Задача:
для заданного текста определить 1)сколько раз каждое слово встречается в тексте
2)удалить слова,встречающиеся более одного раза



на форме:
Edit1- туда вводим текст
memo1-вывод результаты
button-кнопка


procedure TForm1.Button1Click(Sender: TObject);
var x:array [1..255] of string;
s1,s2: string;
i,j,k,n:integer;
begin
s1:=edit1.text+' ';
s2:=''; j:=1;k:=0;

for i:=1 to length(s1) do begin
if s1[i]<>' ' then s2:=s2+s1[i]
else begin
x[j]:=s2;
s2:=''; j:=j+1;k:=k+1;
end;
end;

for i:=1 to k-1 do begin
n:=1;
for j:= i+1 to k do begin
if x[i]=x[j] then begin
n:=n+1;
for i:=1 to lenght(s2) do
int(cnt);
for i:=1 to lenght(s1) do
if s1[i]<>'' then s2:s2+s1[i];
else begin
x[j]:=s2;
s2:=''; j:=j+1;k:=k+1;
for i:=1 to lenght(s1) do
if x[i]=s2 then
delete(s1,i,cnt);
end; end;
Form1.Memo1.Lines.Add('слово '+x[i]+' встречается '+inttostr(n)+' раз(а)');
end;
end.





Помогите пожалуйста,никак не могу разобраться,как ее исправить!!!
Ejevila вне форума Ответить с цитированием
Старый 20.12.2010, 21:19   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var x:array [1..255] of string;
s1,s2,buf: string;
i,j,k,n,p,cnt:integer;
begin
s1:=edit1.text+' ';
s2:=''; j:=1;k:=0;
for i:=1 to length(s1)do
 begin
if s1[i]<>' ' then s2:=s2+s1[i]
else
begin
x[j]:=s2;
s2:='';
j:=j+1;
k:=k+1;
end;
end;
Memo1.Clear;
p:=0;
For i:=1 to K do
Begin
  cnt:=1;
  Buf:=X[i];
  For j:=i+1 to K do
  Begin
    If X[i] = X[j] then
    Begin
      Inc(Cnt);
      Delete(X[j],1,Length(X[j]));
    End;
  End;
   If X[i] <> '' then
   Form1.Memo1.Lines.Add('Слово '+Buf+' встречается '+inttostr(Cnt)+'раз(а)');
  If cnt = 1 then Edit2.text:=Edit2.text+' '+X[i]
end;
end;

end.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 20.12.2010, 21:55   #3
Ejevila
Новичок
Джуниор
 
Регистрация: 20.12.2010
Сообщений: 4
По умолчанию

спасибо огромное!
очень вы мне помогли!
Ejevila вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
МАКРОС НА ПОИСК, СУММИРОВАНИЕ И УДАЛЕНИЕ ПОВТОРЯЮЩИХСЯ СТРОК provodnikam Microsoft Office Excel 14 19.02.2015 07:53
Удаление повторяющихся записей в БД Dinamik БД в Delphi 8 22.03.2012 22:05
Удаление повторяющихся слов C vivo89 Помощь студентам 2 24.12.2009 09:18
Удаление повторяющихся данных demonic Microsoft Office Access 6 19.02.2009 11:09
Удаление повторяющихся записей gavrylyuk Microsoft Office Excel 3 28.06.2008 08:10