Announcement

Collapse
No announcement yet.

Werte Sortiern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Werte Sortiern

    Ich habe mit dem Zafallsgenarator 6 Zahlen zwischen 1 und 6 ausgewählt. Diese möchte aber sortiert nach Wert ausgeben
    Ich Hoffe auf Hilfe
    Gruß Wilfried Brügmann

  • #2
    Hier ein Sortieralgo:<br>
    <br>
    <PRE>
    procedure BubbleSort(Items: TStrings);
    var
    done: boolean;
    i, n: integer;
    Dummy: string;
    begin
    n := Items.Count;

    repeat
    done := true;
    for i := 0 to n - 2 do
    if Items[i] > Items[i + 1] then
    begin
    Dummy := Items[i];
    Items[i] := Items[i + 1];
    Items[i + 1] := Dummy;

    done := false;
    end;
    until done;
    end;
    </PRE>
    <br>
    Die Zahlen sollten in ein Array[0..5] of integer abgelegt werden.<br>
    Die Routine läßt sich sicher leicht daraufhin anpassen.<br&gt

    Comment


    • #3
      Hallo Willy Brügmann,
      m.H. der Eigenschaft SORT läßt sich eine Stringliste problemlos sortieren. Das Beispiel sollte so laufen.

      <PRE>
      procedure TForm1.ZufallClick(Sender: TObject);
      var Liste :TstringList;
      lauf :byte;
      begin
      ListBox1.Clear;
      Liste:=TStringList.Create;
      Randomize;
      for lauf:=1 to 6 do
      Liste.add(IntToStr(Random(lauf)));
      Liste.Sort;
      for lauf:=0 to Liste.count-1 do
      ListBox1.Items.add(Liste[lauf]);
      Liste.Free;
      end;

      </PRE&gt

      Comment


      • #4
        Hi Jörg,
        mit Deinem Sortieralgo hast Du mir sehr geholfen. Gut das man Neuling auf einen Gebiet nicht alleine ist. Ich komme von der VBA Programmierung, aber Delphi ist doch etwas anderes.
        Vielen Dank
        Willy Brügman

        Comment


        • #5
          Hi Hovi,
          mit Deiner Routine zum Werte sortieren hast Du mir sehr geholfen. Dafür herzlichen Dank. Eine Kleinigkeit habe ich bereits selber behoben: ich brauche Zufallszahlen zwischen 1 und 6 (Keine 0). Was mir aber augefallen ist: die erste Zahl ist IMMER die eins. Das kann nicht stimmen. Es gibt ja auch Durchgänge in denen gar keine 1 fällt. Ich habe ca 50 Duchgänge gestartet. Die eins viel immer, sehr unwarscheinlich. Zum Verständnis: das Programm soll das Würfelspiel KNIFFEL simulieren. Vieleicht kannst Du mir noch einmal helfen.
          Gruß
          Willy Brügman

          Comment


          • #6
            Hallo Willy,

            <pre>
            procedure TForm1.ZufallClick(Sender: TObject);
            var Liste :TstringList;
            lauf :byte;
            begin
            ListBox1.Clear;
            Liste:=TStringList.Create;
            Randomize;
            for lauf:=1 to 6 do
            Liste.add(IntToStr(Random(<b>6</b>)));
            Liste.Sort;
            for lauf:=0 to Liste.count-1 do
            ListBox1.Items.add(Liste[lauf]);
            Liste.Free;
            end;
            </pre>

            Tschüß

            Torste

            Comment


            • #7
              Hallo Torsten,<br>Random(6)liefert eine Zahl aus der Menge {0,1,2,3,4,5}. Da ein Würfel ja nur ein Element aus der Menge {1,2,3,4,5,6} liefert, sollte der Ausdruck Random(6)+1 lauten

              Comment


              • #8
                Hallo Tosten,
                vielen Dank für Deine Hilfe, es hat wunderbar geklappt. Vieleicht könntest Du mir Deine E-Mail Adresse geben, ich hätte dann warscheinlich noch so einige tausend Fragen an Dich.
                War ein Scherz, aber als Notbremse würde ich gerne Deiene E-Mail Adresse haben. Danke.
                Gruß Will

                Comment


                • #9
                  Hallo Willy,

                  brauchst nur auf meinen Namen zu klicken.

                  Tschüß

                  Torste

                  Comment


                  • #10
                    Hallo Willy und Torsten,

                    sorry, die Variable Lauf war da ziemlich blöde plaziert

                    Tschöö

                    Hov

                    Comment


                    • #11
                      Hi Hovi,
                      macht nichts mit der Variable. Macht es Dir viel aus aus mir deine E-Mail Adresse und evtl deine Adresse zu geben? Wenn du in meiner Nähe sitzt, könnte ich, Dein Einverständnis vorausgesetz, mit Dir kontakten.
                      Viele Dank
                      Will

                      Comment

                      Working...
                      X