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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2012, 19:53   #1
Toxi
Пользователь
 
Регистрация: 15.03.2012
Сообщений: 31
По умолчанию задача на работу со строками

Задача:
Определить, сколько раз в строке встречается заданное слово

помогите с решением пожалуйста, заранее спасибо
Toxi вне форума Ответить с цитированием
Старый 20.03.2012, 19:57   #2
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

В чем помочь? Какие сложности?
Базиля вне форума Ответить с цитированием
Старый 20.03.2012, 20:02   #3
Toxi
Пользователь
 
Регистрация: 15.03.2012
Сообщений: 31
По умолчанию

Цитата:
Сообщение от Базиля Посмотреть сообщение
В чем помочь? Какие сложности?
сложность в том что для меня программирование это темный лес))

решите задачу пожалуйста... а то завтра последний день сдачи...

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  i,j,k,x: integer;
  s1,s2: string;
begin
  i:=0;     // текущая строка
  k:=0;
  s2:=Edit2.Text;           // s2 - фрагмент
  while i<Memo2.Lines.Count do  // пока i меньше количества строк
  begin
    s1:=Memo2.Lines[i];   // s1 - текущая строка текста
    while x>0 do
    begin
      x:=pos(s2,s1);        // x-позиция фрагмента в строке
      if x>0 then
      begin
        inc(k);               // количество фрагментов
        delete(s1,1,x);
      end;
    end;
    inc(i);
  end;
  Memo1.Lines.add:=IntToStr(k);
end;
выдает ошибки в строке
Код:
Memo1.Lines.add:=IntToStr(k);
[Error] Unit1.pas(57): Not enough actual parameters
[Error] Unit1.pas(57): Incompatible types: 'Integer' and 'String'

Последний раз редактировалось Stilet; 20.03.2012 в 22:48.
Toxi вне форума Ответить с цитированием
Старый 20.03.2012, 21:22   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Потомучто Add это метод
Но не свойство!
Делайте так
Код:
Memo1.Lines.add(IntToStr(k));
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 20.03.2012, 21:22   #5
Toxi
Пользователь
 
Регистрация: 15.03.2012
Сообщений: 31
По умолчанию

все разобрался)
Toxi вне форума Ответить с цитированием
Старый 20.03.2012, 21:28   #6
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

А вот простейшее решение, правда с эдитами. Edit1 - это текст введенный, Edit2 это искомое слово.
Код:
var
i:integer;
str:string; //текст
str2:string; //заданное слово
k,k2:integer;
begin
str2:=edit2.Text;
k2:=length(str2);
k:=0;
str:=edit1.text;
for i:=1 to length(str) do
    begin
    if (str[i+k2]=str2) then k:=k+1;
    end;
    showmessage(inttostr(k));
end;
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Старый 20.03.2012, 21:31   #7
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
А вот простейшее решение, правда с эдитами. Edit1 - это текст введенный, Edit2 это искомое слово.
Только вот, не полное!
Где проверка на то что это слово вообще?
А не часть слова?
Понимаете о чём я?
При таком раскладе простейшим решение будет использовать
Функции pos и delete выйдет куда проще!
ХОТЯ СТОП
ВОТ ЭТО ЧТО ВООБЩЕ?

Цитата:
Код:
str[i+k2]=str2
Обьясните мне суть!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303

Последний раз редактировалось Hacker19_90; 20.03.2012 в 21:33.
Hacker19_90 вне форума Ответить с цитированием
Старый 20.03.2012, 21:40   #8
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
Только вот, не полное!
Где проверка на то что это слово вообще?
А не часть слова?
Понимаете о чём я?
При таком раскладе простейшим решение будет использовать
Функции pos и delete выйдет куда проще!
ХОТЯ СТОП
ВОТ ЭТО ЧТО ВООБЩЕ?


Обьясните мне суть!
Ну, да, ну да, поторопился. Хотел из своего паскалевского примера перебрать код... Тут максимум по одной букве найдет
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума Ответить с цитированием
Старый 20.03.2012, 21:50   #9
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Да ничего бывает!
Собствеено мой пост выше(смотреть верхнюю его часть) Относится и ТС
Вы не ищете слова, а ищете лишь вхождения!
Разные вещи!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 20.03.2012, 22:37   #10
Toxi
Пользователь
 
Регистрация: 15.03.2012
Сообщений: 31
По умолчанию

всем спасибо)) это был только фрагмент задачи, там полей мемо много и они используются для записи в текстовый файл так что не буду мучаться щас с эдитами, сделал как есть)) у меня уже мозг если честно кипит от делфи... 5 практических сделал за вечер=)) все как всегда в последний день
Toxi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на работу со строками Евгений77777 Помощь студентам 10 09.03.2012 22:08
Задача на работу со строками в С# OnlySergio Помощь студентам 1 29.11.2009 17:45
Как укорить работу со строками в Richedit? iiunbreakableii Общие вопросы Delphi 6 29.07.2009 13:08
задача на работу с файлами и строками MiH@N Помощь студентам 8 24.06.2008 00:44
Задачка на работу с символами и строками Go6a Помощь студентам 10 30.03.2008 16:31