|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
поиск слов в строковом массиве
ЗАДАНИЕ:
Составить программу, которая читает построчно текст другой программы (ввести с клавиатуры) в MEMO на языке Pascal, подсчитывает количество ключевых слов “begin” и “end” и выводит на экран соответствующее сообщение. 1.правильно ли я решила что это надо делать через строковый массив?????? 2.как считать построчно массив из MEMO (если 1 пункт правильно)???? пожалуйста, помогите.......))))))) P.S. может есть другой способ для решения этой задачи????? |
#2
|
||||
|
||||
Код:
procedure TForm1.Button1Click(Sender: TObject); var i,b,e:integer; begin b:=0; e:=0; for i:=0 to memo1.Lines.Count-1 do begin if pos('end',memo1.Lines[i])<>0 then inc(e); if pos('begin',memo1.Lines[i])<>0 then inc(b); end; showmessage('Begin count= '+inttostr(b)+' end count= '+inttostr(e)); end; Не твори зла, и жизнь повернется к тебе передом |
#3
|
||||
|
||||
Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
|||
|
|||
имеется в виду в Memo должен вводиться код программы на языке паскаль......в котором и будут искаться слова
|
#5
|
|||
|
|||
Цитата:
Твой алгоритм проверяет на жесткое нахождение хотя бы одного слова в строке, а если в строке два end-а? или два begin-а? |
#6
|
|||
|
|||
Код:
procedure TForm1.Button1Click(Sender: TObject); var i,b,a:integer; begin b:=0; a:=0; for i:=0 to memo1.Lines.Count-1 do begin if pos('end',memo1.Lines[i])>0 then a:=a+1; if pos('begin',memo1.Lines[i])>0 then b:=b+1; end; showmessage('Begin count= '+(b)+' end count= '+a+'); end; |