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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2018, 23:29   #1
kostya_hor
Пользователь
 
Регистрация: 23.05.2018
Сообщений: 58
По умолчанию Определить какое слово встречается в тексте чаще всего

Ребята,суперпрограмисты,спасайте меня
Определите конкретное сочетание букв (например, «НЕТ»). Определить, сколько таких групп символов содержится в тексте, который вводится с клавиатуры.
kostya_hor вне форума Ответить с цитированием
Старый 21.11.2018, 08:31   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

В тексте?? То есть не слов.
И че тут сложного??

Как то так:
Код:
uses
  System.SysUtils;

var
  I,counter: integer;
  str: string;

begin
  try
    str := 'абырвалг, нетто труляля нет блаблабла';

    for I := 1 to str.Length do
    begin
      if str[I] = 'н' then
        if str[I + 1] = 'е' then
          if str[I + 2] = 'т' then
          Begin
            counter:=counter+1;
          End;
    end;

  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;

end.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 21.11.2018, 10:54   #3
kostya_hor
Пользователь
 
Регистрация: 23.05.2018
Сообщений: 58
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
В тексте?? То есть не слов.
И че тут сложного??
нужно ввоить текст через Edit
kostya_hor вне форума Ответить с цитированием
Старый 21.11.2018, 11:02   #4
kostya_hor
Пользователь
 
Регистрация: 23.05.2018
Сообщений: 58
По умолчанию

типо так
Изображения
Тип файла: png Безымянный.png (15.8 Кб, 76 просмотров)
kostya_hor вне форума Ответить с цитированием
Старый 21.11.2018, 11:10   #5
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от kostya_hor Посмотреть сообщение
спасайте меня[/B]
Спасение утопающих - дело рук самих утопающих.


Цитата:
Сообщение от kostya_hor Посмотреть сообщение
нужно ввоить текст через Edit
Ну так вводите. Хватит позориться. Вам итак уже ключевой текст кода дали причем с учетом вашего уровня. Дабы препод не усомнился в исполнителе.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 21.11.2018, 11:12   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

for I := 1 to Length(str) - 2 do
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 21.11.2018 в 11:15.
Аватар вне форума Ответить с цитированием
Старый 21.11.2018, 11:57   #7
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
for I := 1 to Length(str) - 2 do
Ну да. Точно .. ))
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 21.11.2018, 12:18   #8
kostya_hor
Пользователь
 
Регистрация: 23.05.2018
Сообщений: 58
По умолчанию

все правильно?
Код:
procedure TForm5.Button1Click(Sender: TObject);
var
  I,counter: integer;
  str: string;

begin
  try
    str := Edit1.Text;
    for I := 1 to Length(str) - 2 do
    begin
      if str[I] = 'н' then
        if str[I + 1] = 'е' then
          if str[I + 2] = 'т' then
          Begin
            counter:=counter+1;
          End;
    end;

  except
    on E: Exception do
    Edit2.Text:=E;
  end;
end;
kostya_hor вне форума Ответить с цитированием
Старый 21.11.2018, 13:01   #9
kostya_hor
Пользователь
 
Регистрация: 23.05.2018
Сообщений: 58
По умолчанию

Вот так думаю нормально будет
Код:
procedure TForm5.Button1Click(Sender: TObject);
const raz=[' ','.',',','?','!'];
var s,sl:string;
    i,k:byte;
begin
s :=Edit1.Text;  //  Строка:
sl :=Edit2.Text; //Слово
k:=0;
for i:=1 to length(s) do
if(s[i]=sl[1])and((s[i-1] in raz)or(i=1))
and((s[i+length(sl)] in raz)or(i+length(sl)=length(s)))
and(copy(s,i,length(sl))=sl)
then k:=k+1;
Edit3.Text :=Format('Слово %s встречается %d раз', [sl, k]);
end;
end.
kostya_hor вне форума Ответить с цитированием
Старый 21.11.2018, 13:15   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от kostya_hor Посмотреть сообщение
Вот так думаю нормально будет
нет, не нормально.
ну сами подумайте, к какому элементу строки будет обращение вот тут
Цитата:
Сообщение от kostya_hor Посмотреть сообщение
(s[i-1]
при i=1 ?


Цитата:
Сообщение от kostya_hor Посмотреть сообщение
(s[i+length(sl)]
а при i=length(s) куда улетает индекс здесь?!

короче, такой код - "в топку"!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
код в C++: есть ли в массиве А [n] числа В и С и определить, какое из чисел встречается в массиве чаще nike999 Помощь студентам 2 07.06.2016 09:15
Определить, какая буква чаще всего встречается в заданном тексте (Процедуры) sanji2010 Помощь студентам 4 20.04.2014 20:57
Работа с файлами: Определить, какая буква чаще всего встречается в заданном тексте sanji2010 Паскаль, Turbo Pascal, PascalABC.NET 1 06.04.2014 17:04
Поиск элемента который чаще всего встречается Gerzs Microsoft Office Excel 6 08.11.2010 21:59
Определить сколько раз встречается в тексте самое короткое слово - Delphi 7 Леди Уинтер Помощь студентам 3 08.01.2008 17:56