![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 33
|
![]()
Два memo поля: в одно вводится текст в другое пишется результат. Также есть button, которая запускает программу...
Требуется определить число слов в тексте, найти максимальную, минимальную и среднюю длину слова...
Мир не без добрых людей..
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 33
|
![]()
вот предварительный код программы нужно его исправить и дополнить....
------------------------------------------------------------------------------- unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Memo1: TMemo; Button1: TButton; Button2: TButton; Button3: TButton; Label2: TLabel; Button4: TButton; Memo2: TMemo; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; S:string; n,sl,max,min,i:integer; sr:real; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin S:='В лесу родилась ёлочка, в лесу она росла'; memo1.Text:=s; end; procedure TForm1.Button2Click(Sender: TObject); begin S:=''; Memo1.text:=s; memo2.text:=''; end; procedure TForm1.Button4Click(Sender: TObject); begin application.Terminate; end; procedure TForm1.Button3Click(Sender: TObject); begin i:=1; n:=length(s); S:=Memo1.Text; sl:=0; if not (s[i] in [' ',#8, #13, #10, ',','.','!','?']) then while i<n do begin if (s[i] in [' ',#8, #13, #10, ',','.','!','?']) and (not (s[i+1] in [' ',#8, #13, #10, ',','.','!','?'])) then begin sl:=sl+1; end; i:=i+1; end else while i<n do begin if (s[i] in [' ',#8, #13, #10, ',','.','!','?']) and (not (s[i+1] in [' ',#8, #13, #10, ',','.','!','?'])) then begin sl:=sl+1; end; i:=i+1; end; begin sr:=(max+min)/sl; memo2.text:='Число слов:'+floattostr(sl)+' Максимальное:'+floattostr(max)+' Минимальное:'+floattostr(min)+' Среднее:'+floattostr(sr); end; end; end. -----------------------------------------------------------------
Мир не без добрых людей..
|
![]() |
![]() |
![]() |
#3 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
![]()
ну и зачем этот кусок 2 раза повторяется :
while i<n do begin if (s[i] in [' ',#8, #13, #10, ',','.','!','?']) and (not (s[i+1] in [' ',#8, #13, #10, ',','.','!','?'])) then begin sl:=sl+1; end; i:=i+1; end ?!
Берегите друг друга!
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 33
|
![]()
Да это неправильно... этот цикл даже неправильно считает
Мир не без добрых людей..
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 07.08.2007
Сообщений: 154
|
![]()
$5 времени на выполнение 1 час
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 22.04.2008
Сообщений: 33
|
![]()
согласен, только, если будут недочеты, ты их исправишь?
Мир не без добрых людей..
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 07.08.2007
Сообщений: 154
|
![]()
Без вопросов... аська 218четыре13шесть9семь жду
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 07.08.2007
Сообщений: 154
|
![]()
Задача решена, exeшник для тестирования лежит тут http://slil.ru/25890212 Исходники - по оплате
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на Делфи | evrey | Общие вопросы Delphi | 3 | 09.06.2008 09:01 |
задача Делфи - поиск нужного и замена | Katovski | Помощь студентам | 8 | 30.05.2008 21:28 |
Простенькая задача Делфи | Katovski | Помощь студентам | 18 | 02.05.2008 20:39 |
Задача на Делфи по теории голосования | Alex2008 | Фриланс | 4 | 24.04.2008 20:17 |
CGI на Делфи | AntonK8 | PHP | 3 | 12.04.2008 10:44 |