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

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

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2008, 08:53   #1
IGoDoVaN
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 33
По умолчанию Задача по Делфи

Два memo поля: в одно вводится текст в другое пишется результат. Также есть button, которая запускает программу...
Требуется определить число слов в тексте, найти максимальную, минимальную и среднюю длину слова...
Мир не без добрых людей..
IGoDoVaN вне форума Ответить с цитированием
Старый 12.06.2008, 09:12   #2
IGoDoVaN
Пользователь
 
Регистрация: 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.
-----------------------------------------------------------------
Мир не без добрых людей..
IGoDoVaN вне форума Ответить с цитированием
Старый 12.06.2008, 09:29   #3
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 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

?!
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 12.06.2008, 09:49   #4
IGoDoVaN
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 33
По умолчанию

Да это неправильно... этот цикл даже неправильно считает
Мир не без добрых людей..
IGoDoVaN вне форума Ответить с цитированием
Старый 12.06.2008, 11:19   #5
Aristarh Dark
Форумчанин
 
Регистрация: 07.08.2007
Сообщений: 154
По умолчанию

$5 времени на выполнение 1 час
Aristarh Dark вне форума Ответить с цитированием
Старый 12.06.2008, 11:48   #6
IGoDoVaN
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 33
По умолчанию

согласен, только, если будут недочеты, ты их исправишь?
Мир не без добрых людей..
IGoDoVaN вне форума Ответить с цитированием
Старый 12.06.2008, 11:52   #7
Aristarh Dark
Форумчанин
 
Регистрация: 07.08.2007
Сообщений: 154
По умолчанию

Без вопросов... аська 218четыре13шесть9семь жду
Aristarh Dark вне форума Ответить с цитированием
Старый 12.06.2008, 12:42   #8
Aristarh Dark
Форумчанин
 
Регистрация: 07.08.2007
Сообщений: 154
По умолчанию

Задача решена, exeшник для тестирования лежит тут http://slil.ru/25890212 Исходники - по оплате
Aristarh Dark вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на Делфи 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