AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zahlen "verteilen"

Ein Thema von Spurius · begonnen am 24. Jun 2004 · letzter Beitrag vom 25. Jun 2004
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#11

Re: Zahlen "verteilen"

  Alt 24. Jun 2004, 22:07
dann bekommt man keine vier gleich großen gruppen, und ich bin davon ausgegangen, dass das sein soll. sonst hätte ich es auch so vorgeschlagen. muss man den fragesteller fragen, wie er es haben will.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 00:07
Zitat von nailor:
muss man den fragesteller fragen, wie er es haben will.
[OT]sehe ich anders... der Fragesteller sollte besser gleich sagen was er wünscht [/OT]
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#13

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 08:47
das schon. aber wenn es nicht klar ist, dann:
Zitat von nailor:
muss man den fragesteller fragen, wie er es haben will.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Spurius

Registriert seit: 19. Aug 2003
294 Beiträge
 
Delphi 7 Professional
 
#14

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 12:17
Hallo,
ich hab das jetzt einigermaßen hinbekommen, ich hab jetzt Code mit dem ich 8 Zahlen aus der Liste mit den Zahlen von 1-32 auswählen kann.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c,d,e, Zahl: integer;
    SchonEnthalten: boolean;
begin
 List := TStringList.Create;
 List2 := TStringList.Create;

 for a := 1 to 32 do begin
  List.Add(inttostr(a));
 end;

 while List2.Count < 8 do begin
  Zahl := List.IndexOf(inttostr(random(list.Count)));
  for b := 0 to List2.Count - 1 do begin
   if Zahl = strtoint(List2.Strings[b]) then
     SchonEnthalten := true else SchonEnthalten := false;
  end;
  if SchonEnthalten = false then List2.Add(IntToStr(Zahl));
 end;
 Memo1.Lines.Add(List2.Text);
end;

end.
Aber es klappt nicht alles:
1.Warum sind die Zahlen immer die gleichen?
2.Warum bekomme ich manchmal eine -1 als Zahl?
Gruß
Spurius
  Mit Zitat antworten Zitat
Spurius

Registriert seit: 19. Aug 2003
294 Beiträge
 
Delphi 7 Professional
 
#15

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 17:40
So, ich bin weitergekommen mit diesem Code:
Delphi-Quellcode:
var
  Form1: TForm1;
  List, List2: TStringlist;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var a,b,Zahl: integer;
    Disc: boolean;
begin
 randomize;
 List := TStringlist.Create;
 for a := 1 to 32 do begin
  List.Add(inttostr(a));
 end;

 while memo1.Lines.Count < 8 do begin
  Zahl := random(32);
   for b := 1 to memo1.Lines.Count do begin
    if inttostr(Zahl) = Memo1.Lines[b] then
     Disc := False;
    end;
   if Disc = true then Memo1.Lines.Add(IntToStr(Zahl));
  Disc := true;
 end;
end;

end.
Bitte beantwortet mir noch eine Frage:
Wie kann ich verhindern, dass eine 0 mit angezeigt wird?
Wird bei random(32) die 0 mitverwendet oder geht das erst ab 1 los?
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#16

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 18:08
Bei Random wird die 0 afaik mitverwendet.
Random(32) erzeugt ganzzahlige Zufallszahlen mit einem minimum von 0 und einem maximum von 31.

Du müsstest also schreiben:
Delphi-Quellcode:
zahl := random (32);
zahl := zahl + 1;
  Mit Zitat antworten Zitat
Spurius

Registriert seit: 19. Aug 2003
294 Beiträge
 
Delphi 7 Professional
 
#17

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 18:11
Ok, noch ne Frage: Was müsste der Code aussehen wenn ich anstatt dem Memo list2 verwenden will?
  Mit Zitat antworten Zitat
Benutzerbild von whiteshark
whiteshark

Registriert seit: 4. Dez 2003
Ort: Cottbus
222 Beiträge
 
Delphi 2005 Personal
 
#18

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 18:19
Hallo,

wenn du random(32) verwendest nimmt er zufällig die zahlen zwischen 0-31 und nicht 1-32. Wenn du zwischen 1 und 32 eine zahl willst nimm doch einfach random(32)+1, dann nimmt der Rechner die Zahlen zwischen 0 und 31 und rechnet jedesmal +1 dazu.

whiteshark
Men are born ignorant, not stupid; they are made stupid by education. - Bertrand Russell

I cannot teach anybody anything, i can only make them think. - Socrates
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#19

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 18:36
Zitat von Spurius:
Ok, noch ne Frage: Was müsste der Code aussehen wenn ich anstatt dem Memo list2 verwenden will?
Schau dir doch einfach mal die Datentypen an, TMemo.Lines ist vom Typ TStrings, TListBox.Items ebenfalls
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Spurius

Registriert seit: 19. Aug 2003
294 Beiträge
 
Delphi 7 Professional
 
#20

Re: Zahlen "verteilen"

  Alt 25. Jun 2004, 18:55
Wie jetzt? Ich hatte es bei der List mit IndexOf versucht, aber des hat net so ganz hingehaun. Ich mein halt, durch was muss ich z.b. das Memo1.Lines[b] ersetzen? Die Zahlen sind ja keine Objekte sondern nur Variablen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 21:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz