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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2009, 18:06   #1
J.K.
Новичок
Джуниор
 
Регистрация: 12.06.2009
Сообщений: 4
Восклицание реализация пути эйлера на Delphi

помогите решить задачу о нахождении пути эйлера в графе.
J.K. вне форума Ответить с цитированием
Старый 12.06.2009, 19:17   #2
J.K.
Новичок
Джуниор
 
Регистрация: 12.06.2009
Сообщений: 4
По умолчанию

ОЧЕНЬ НАДО
J.K. вне форума Ответить с цитированием
Старый 12.06.2009, 19:19   #3
J.K.
Новичок
Джуниор
 
Регистрация: 12.06.2009
Сообщений: 4
По умолчанию

или хотя бы подскажите где можно найти. только с исходниками. буду очень благодарна.
J.K. вне форума Ответить с цитированием
Старый 12.06.2009, 19:29   #4
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Вот модуль:
Код:
unit MinLength;
interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Dialogs,
  StdCtrls,IO,Data,AbstractAlgorithmUnit;
type
  TMinLength = class(TAbstractAlgorithm)
  private
     StartPoint:integer;
     EndPoint:integer;
     First:Boolean;
     Lymbda:array of integer;
     function Proverka:Boolean;
  public
     procedure Make;
  end;

var
  MyMinLength: TMinLength;
implementation

uses MainUnit, Setting;
procedure TMinLength.Make;
         var i ,j  : integer;
            PathPlace,TempPoint:Integer;
            flag:boolean;
         begin
           with MyData do begin
     StartPoint:=MyIO.FirstPoint;
     EndPoint:=MyIO.LastPoint;
                     SetLength(Lymbda,Dimension+1);
            SetLength(Path,Dimension+1);
           for i:=1 to Dimension do
              Lymbda[i]:=100000;
           Lymbda[StartPoint]:=0;
           repeat
             for i:=1 to Dimension do
                for j:=1 to Dimension do
                   if Matrix[i,j]=1 then
                     if  ( ( Lymbda[j]-Lymbda[i] ) > MatrixLength[j,i] )
                       then Lymbda[j]:=Lymbda[i] + MatrixLength[j,i];
           until Proverka ;

           Path[1]:= EndPoint ;
           j:=1;
           PathPlace:=2;
           repeat
             TempPoint:=1;
             Flag:=False;
             repeat
               if ( Matrix[ Path[ PathPlace-1 ],TempPoint] =1  )and (
                  Lymbda[ Path[ PathPlace-1] ] =
                   ( Lymbda[TempPoint] + MatrixLength[ Path[PathPlace-1 ], TempPoint] ) )
                   then Flag:=True
                   else Inc( TempPoint );
             until Flag;
             Path[ PathPlace ]:=TempPoint;
             inc( PathPlace );
             MyIO.DrawPath(Path[ PathPlace-2 ],Path[ PathPlace -1],true);
 //            ShowMessage('f');
           until(Path[ PathPlace - 1 ] = StartPoint);
//           MyIO.DrawPath(Path[ PathPlace-1 ],Path[ PathPlace ],true);
           end;
         end;
function TMinLength.Proverka:Boolean;
         var i,j:integer;
             Flag:boolean;
         begin
           i:=1;
           Flag:=False;
           With MyData do begin
           repeat
             j:=1;
             repeat
               if Matrix[i,j]=1 then
               if ( Lymbda[j]-Lymbda[i] )>MatrixLength[j,i]then Flag:=True;
               inc(j);
             until(j>Dimension)or(Flag);
             inc(i);
           until(i>Dimension)or(Flag);
           Result:=not Flag;
           end;
         end;
end.
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 12.06.2009, 21:21   #5
J.K.
Новичок
Джуниор
 
Регистрация: 12.06.2009
Сообщений: 4
По умолчанию

спасибо. если есть програма полностю скиньте на Ylja_Kravets@ukr.net.
J.K. вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] TQuery и реализация запроса. MaGWaY_minsk Помощь студентам 2 12.05.2009 00:31
Реализация BlowFish на Delphi Unconnected Общие вопросы Delphi 2 19.02.2009 12:52
Круги Эйлера NecRomant Общие вопросы Delphi 2 17.12.2008 15:07
Есть 2 листбокса, в 1 пути к файлам, во 2 имена этих файлов. delphi. Xandr Помощь студентам 2 06.10.2007 00:17