Помогите с задачей, никак не могу разобраться
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
- Oleg_Rus
- Сообщения: 335
- Зарегистрирован: 16 окт 2006, 09:56
- Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
- Контактная информация:
в таком случае ща кину код на Delphi, где на эту мелочь мона не смотреть
e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
- Oleg_Rus
- Сообщения: 335
- Зарегистрирован: 16 окт 2006, 09:56
- Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
- Контактная информация:
[syntax='Delphi']
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure
TForm1.Button1Click(Sender: TObject);
Var
s: String;
Letter: Char;
Flag: Boolean;
i, Number: Integer;
begin
Number:=0; // Обнуление Данных
Flag:=True;
Text:=Edit1.Text; //Чтение Текста
For i:=1 to Length(Text) Do //Цикл По-Буквенно
Begin
Letter:=Text; //Раcсматриваем i-тый символ текста
If (Letter<>' ') and Flag Then Number:=Number+1;
//Если текущий символ не равен <пробелу> и Flag=1
//то увеличивай количество Слов
Flag:=(Letter=' ');
End;
Label2.Caption:=FloatToStr(Number);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
end.
[/syntax]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure
TForm1.Button1Click(Sender: TObject);
Var
s: String;
Letter: Char;
Flag: Boolean;
i, Number: Integer;
begin
Number:=0; // Обнуление Данных
Flag:=True;
Text:=Edit1.Text; //Чтение Текста
For i:=1 to Length(Text) Do //Цикл По-Буквенно
Begin
Letter:=Text; //Раcсматриваем i-тый символ текста
If (Letter<>' ') and Flag Then Number:=Number+1;
//Если текущий символ не равен <пробелу> и Flag=1
//то увеличивай количество Слов
Flag:=(Letter=' ');
End;
Label2.Caption:=FloatToStr(Number);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
end.
[/syntax]
e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
- Oleg_Rus
- Сообщения: 335
- Зарегистрирован: 16 окт 2006, 09:56
- Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
- Контактная информация:
т.е. в этой проге см. процедуру TForm1.Button1Click(Sender: TObject);
Должна работать...
Должна работать...
e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
А можно реализовать прямо даже конечный автомат, если кто-то еще помнит, что это такое.
count:=0;
state:=0;
for i:=1 to length(s) do
case state of:
0: if s<>' ' then begin
state:=1; inc(count); end;
1: if s=' ' then state:=0
end;
count:=0;
state:=0;
for i:=1 to length(s) do
case state of:
0: if s<>' ' then begin
state:=1; inc(count); end;
1: if s=' ' then state:=0
end;
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
- Oleg_Rus
- Сообщения: 335
- Зарегистрирован: 16 окт 2006, 09:56
- Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
- Контактная информация:
Хыиуду, в прынцыпе наши программы совпадают:
у вас переменная State принимает 2 значения 1 и 0, с тем же успехом мона ведь использовать boolean, с его значениями true или false...
...или я ошибаюсь...
у вас переменная State принимает 2 значения 1 и 0, с тем же успехом мона ведь использовать boolean, с его значениями true или false...
...или я ошибаюсь...
e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
Oleg_Rus, в принципе да. Просто обычно у конечного автомата большее число состояний, чем 2. Так что я уже просто по привычке ввожу state как числовое, а не как булевское
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Геката? Кать из ЕБурга,ты что ля? А мине кто поможет?:-)
-
- Сообщения: 296
- Зарегистрирован: 13 фев 2008, 20:10
- Откуда: Беларусь. Орша
- Контактная информация:
CVER4OK,
а тебе что помочь?
тоже самое?
а тебе что помочь?
тоже самое?
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.