AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

problem baue endlosschleife

Ein Thema von pagan1900 · begonnen am 5. Jun 2006 · letzter Beitrag vom 6. Jun 2006
 
pagan1900

Registriert seit: 27. Mär 2006
25 Beiträge
 
#1

problem baue endlosschleife

  Alt 5. Jun 2006, 15:23
folgendes:
----------
n bekomme ich vom benutzer übergeben
sprich ich habe eine radiogroup, in der festgelegt ist, das
wenn der benutzer den radiobutton an indexstelle 0 anklickt

case n.ItemIndex of
(n beduetet anzahl der knoten!)
0: n:=2; m_max:=2; min_m:=1;
1: n:=3; min_m:=2; m_max:=5;
2: n:=4; min_m:=4; m_max:=7;
3: n:=5; min_m:=5; m_max:=8;
4: n:=6; min_m:=6; m_max:=11;
5: n:=7; min_m:=7; m_max:=12;
6: n:=8; min_m:=8; m_max:=14;

daher bekomme ich das n her! (später soll es wenn der benutzer
den erstenlevel (2knotiger graph) erfolgreich bestanden hat automatisch sich erhöhen (level um level).)


Delphi-Quellcode:
(*-----Bestimmen--von--m-----------------------------*)
 function m_bestimmen(min_m:integer; m_max:integer):integer;
 var local:integer;
  begin
    repeat
    local:=random(m_max+1);
    until local>=min_m;
    result:=local;
  end;
hier bestimme ich die pfeildaten:
NUR das problem ich produziere ständig eine endlosschleife an dieser stelle
siehe folgenden quelltextausschnitt!

Kann mir jemand bei diesem problem helfen ?
freue mich auf eure antwort!

Delphi-Quellcode:
 procedure a_b_Pfeilnur1mal(a,b:TPfeil;var a1,b1:integer);
 var locali:integer;
     notOK:boolean;
 begin
   notok:=false;
   repeat
     repeat
       a1:=random(n)+1;
       b1:=random(n)+1;
     until a1<>b1; // Neuen Vektor finden

     for locali:= 1 to m do
      begin
        NotOK:=((a1 = a[locali]) and (b1 = b[locali])) or // V1 = V[I] oder
               ((b1 = a[locali]) and (a1 = b[locali])); // V1 = -V[I]
        if NotOK then break;
            // Wenn NotOK, also der Vektor schon vorhanden ist,
            // dann Abbruch der FOR-Schleife.
      end;

   until not(NotOK);
         // Wenn die FOR-Schleife ganz durchlaufen wird und immer gilt:
         // NotOK = false ( Razz ), dann ist der neue Vektor noch nicht vorhanden.
         // Also: Ende bei not(NotOK);
 end;
und hier soll er rein:

Delphi-Quellcode:
procedure TfrmUebung.Button1Click(Sender: TObject);
  var
  x1,y1,x2,y2:integer;
  locali,localj:integer;
  a1,b1:integer;
  px1,px2:integer;
  Gewichtung:string;
  begin
    m:=m_bestimmen(min_m,m_max); //anzahl der Pfeile wird festgestellt

    //wertelegen(Anf,Ende,Kosten);

    for locali:= 1 to m do
     begin
      a_b_Pfeilnur1mal(Anf,Ende,a1,b1);
      Anf[locali]:=(a1);
      Ende[locali]:=(b1);
      Kosten[locali]:=Kosten_bestimmen;
     end;
   
  {Eingaben}
    for locali:=1 to m do
     begin
       px1:=Anf[locali];
       px2:=Ende[locali];
       Gewichtung:=inttostr(Kosten[locali]);
       with imgGraph,imgGraph.Canvas do
        begin
          Font.Name := 'Arial';
          Font.Height := 30;
// ** Einzelner Pfeil
          X1 := (Kx[px1]);
          Y1 := (Ky[px1]);
          X2 := (Kx[px2]);
          Y2 := (Ky[px2]);
          setzeKnoten(Canvas,Kx,Ky,KRadius,Startknoten);
          Brush.Color := clBlack;
          ZeichneVerbindungspfeil(Canvas,x1,y1,x2,y2,KRadius,Offset);
          pfeilbewertung (x1,y1,x2,y2,KRadius,Offset,Gewichtung,Canvas);
        end;
     end;
 end;
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz