![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#3
|
|||
|
|||
|
Цитата:
Возможно я не правильно обьяснил. Подстрока это не слово, со словом я решил задачу довольно давно. Исходный код моей программы: Код:
procedure TForm3.Button1Click(Sender: TObject);
begin
Close;
end;
procedure TForm3.Button2Click(Sender: TObject);
var
//массив в котором будем хранить одинаковые
mass: array[1..5] of string;
s,s1,bgs:string;
i,c,bgi,bgic,h:integer;
mascount:integer;
begin
// это чтобы выполнился if для самого большего слова, если таковое является последним
s:=(Edit1.Text)+' ';
//Обнуляем некоторые переменные…
s1:='';
c:=0;
bgs:='';
bgi:=0;
bgic:=1;
mascount:=0;
//Обнуляем все поле для текста
Memo1.Lines.Clear;
//Начинаем обработку
for i:=1 to Length(s) do
begin
if s[i]<>' ' then
begin
//Повышаем счетчик букв
Inc(c);
//Формируем слово
s1:=s1+s[i];
end
else
begin
if c>bgi then
begin
bgi:=c;
bgs:=s1;
bgic:=1;
for h:=1 to 5 do
begin
mass[h]:=''
end;
mascount:=0;
end
else if (c=bgi) then
begin
Inc(bgic);
if (c=bgi) and (bgs<>s1) then
begin
Inc(mascount);
mass[mascount]:= s1;
end;
end;
//Обнуляем временные переменные
s1:='';
c:=0;
end;
end;
Memo1.Lines.Add('Дана строка:'+Edit1.Text);
Memo1.Lines.Add('Самая длинная подстрока, в которой количество букв(символов): '+bgs);
Memo1.Lines.Add('Самая длинная подстрока встречается: '+inttostr(bgic));
Memo1.Lines.Add('В котором количество букв: '+inttostr(bgi));
if mass[1]<>'' then
begin
Memo1.Lines.Add('Также есть и другие подстроки с одинаковым количеством букв(символов): ');
for i:=1 to 5 do
begin
if mass[i] <>'' then
Memo1.Lines.Add(mass[i]+' ');
end;
end;
end;
procedure TForm3.Button3Click(Sender: TObject);
begin
Edit1.Text:='';
end;
procedure TForm3.N1Click(Sender: TObject);
var
i: integer;
begin
i:=Form4.ShowModal;
end;
end.Помогите пожалуйста переделать, чтобы находила подстроку. Например: аббапролдаббанров ответ: абба Последний раз редактировалось kampeador, 15.02.2011 в 22:24. |