Форум: "Прочее";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];
ВнизРади интереса! Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.042 c