Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.24;
Скачать: CL | DM;

Вниз

Ради интереса!   Найти похожие ветки 

 
vasIzmax ©   (2006-11-30 19:09) [0]

Доброго времени суток! По теории алгоритмов в инсте дошли до изучения цепей Маркова. Сегодня от делать нечего решил побаловаться реализацией процесса. Часть в принципе сделал, но не все получается. Случаем никто над этим не работал.? (Полной реализации не прошу и не требую, просто не большой подсказки, или в принципе как будет лучше это сделать).


 
Думкин ©   (2006-11-30 19:10) [1]

Покажи что сделал и чего не все получается.


 
vasIzmax ©   (2006-11-30 19:15) [2]

Вообщем получилось сделать (пока) только чтобы в слове заменялись заданные символы на те которые хотим вставить (как бы по кругу).
Вот код всего сделаного (за плохой стиль просьба не ругать).
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Grids, StdCtrls;

type
 TForm1 = class(TForm)
   Edit1: TEdit;
   Label1: TLabel;
   StringGrid1: TStringGrid;
   Button1: TButton;
   Memo1: TMemo;
   Label2: TLabel;
   ListBox1: TListBox;
   procedure FormCreate(Sender: TObject);
   procedure Razbut;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 dlisrav,dlisrav1,vst,zam:string;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
form1.StringGrid1.Cells[0,0]:="Номер операции";
form1.StringGrid1.Cells[1,0]:="Замена";
form1.StringGrid1.Cells[2,0]:="Вперед";
form1.StringGrid1.Cells[3,0]:="Операция";
form1.StringGrid1.Cells[4,0]:="Возврат на операцию";
end;

procedure tform1.Razbut;
var
sMt:string;
dsMt:integer;
Oper,s,op,dop,ver:string;
i,j,k,q,w,a,z,x,c,flag:integer;
begin
sMt:=edit1.Text;
dsmt:=length(smt);   ver:="";
form1.Caption:=inttostr(dsmt);
Oper:=form1.StringGrid1.Cells[0,1]; //начало выбирается сразу 1 операция
op:=form1.StringGrid1.Cells[3,1];
zam:=form1.StringGrid1.Cells[1,1];
vst:=form1.StringGrid1.Cells[2,1];
i:=length(zam);
j:=length(vst);
a:=1; z:=1;  k:=0;  flag:=0;
repeat
s:="";
repeat
s:=s+smt[a];
a:=a+1;
until a>k+i;

   form1.Memo1.Lines.Add(s);
   form1.Memo1.Lines.Add(vst);
   if s=zam then
   begin
      ver:=ver+vst;
      for c:=k+i+j to dsmt do
      ver:=ver+smt[c];
      flag:=1;
   end
   else
   begin
   if z=1 then ver:=ver+s[1]
   else  ver:=ver+s[1];
   end;
   if flag=1 then k:=dsmt

   else
   begin
z:=z+1;
a:=z;
s:="";
k:=k+i-1;
end;

until k>=dsmt;
form1.Memo1.Lines.Add("Res= "+ver);
edit1.Text:=ver;
form1.Caption:=inttostr(dsmt);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
op:string;
i:integer;
begin
op:=form1.StringGrid1.Cells[3,1];
if op="3" then
for i:=1 to length(edit1.Text) do
razbut;
end;

end.


 
Jeer ©   (2006-11-30 19:19) [3]


> Случаем никто над этим


Над "этим" работал Андрей Андреевич Марков.


 
vasIzmax ©   (2006-11-30 19:22) [4]


> Jeer ©   (30.11.06 19:19) [3]

ЗА ЭТО ЕМУ БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО! :)
Я больше о реализации на кампе интересуюсь! :)


 
Leonid Troyanovsky ©   (2006-11-30 19:23) [5]


> Jeer ©   (30.11.06 19:19) [3]

> Над "этим" работал Андрей Андреевич Марков.


Да и папаша его, IMHO.

Кстати, книга была хорошая Кемени, Снелл
Конечные цепи Маркова, кажись. Тоненькая такая.

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2006.12.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 6.77 c
2-1165329350
Uncle
2006-12-05 17:35
2006.12.24
Автозагрузка


15-1165243674
zdm
2006-12-04 17:47
2006.12.24
"Красота Висты"


15-1165222588
ANB
2006-12-04 11:56
2006.12.24
Первое место на Евровидении !


6-1145029943
AT
2006-04-14 19:52
2006.12.24
как оборвать тсп соединение


15-1164872828
zdm
2006-11-30 10:47
2006.12.24
Delphi or C