AGB  ·  Datenschutz  ·  Impressum  







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

Random(2) in schnell

Ein Thema von glkgereon · begonnen am 30. Mär 2007 · letzter Beitrag vom 11. Mai 2007
Antwort Antwort
Seite 3 von 5     123 45      
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#21

Re: Random(2) in schnell

  Alt 31. Mär 2007, 21:40
Ich habe einen Array dieser Form:

Array[Anzahl an Steinen] = So oft vorgekommen

Wie soll ich es sonst machen?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#22

Re: Random(2) in schnell

  Alt 31. Mär 2007, 21:43
wie soll denn deine ausgabe aussehen resp. wie sieht sie derzeit aus?

PS: du hast doch nur 15 steine, oder hab ich mich da verhört?
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#23

Re: Random(2) in schnell

  Alt 31. Mär 2007, 21:46
Eine Liste

Anzahl Steine: So oft Vorgekommen

bzw die liste als Balkendiagramm

jaa, die anzahl an steinen die verbaut wurden...
es gibt 15 stufen und jeder stein hat ja ne 50%-chance die zu erhöhen...
im schnitt sind es ca. 162 steine für 15 stufen.
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#24

Re: Random(2) in schnell

  Alt 31. Mär 2007, 21:53
dann hast du doch hier 'n array[0..14] oder array[1..15], da brauchste doch kein setlength, das kannste dir doch auch schon zuvor ausrechnen und den compiler sagen, wie gross das wird. wenn du der sache nicht traust, kannste ja auch noch 'n paar byte sicherheitsreserve drauflegen.

pass auf, dein progy wird noch zum turbo

ps: wenn du auch noch steine unterschiedlicher qualität hast, kannst 'n 2 dimensionales array erstellen, z.b. array[1..15, 0..300]; nach oben begrenzt, da du ja auch nicht unendlich spielen kannst ...
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#25

Re: Random(2) in schnell

  Alt 31. Mär 2007, 21:55
Zitat von grenzgaenger:
dann hast du doch hier 'n array[0..14] oder array[1..15], da brauchste doch kein setlength, das kannste dir doch auch schon zuvor ausrechnen und den compiler sagen, wie gross das wird. wenn du der sache nicht traust, kannste ja auch noch 'n paar byte sicherheitsreserve drauflegen.

pass auf, dein progy wird noch zum turbo

ps: wenn du auch noch steine unterschiedlicher qualität hast, kannst 'n 2 dimensionales array erstellen, z.b. array[1..15, 0..300]; nach oben begrenzt, da du ja auch nicht unendlich spielen kannst ...
lies dir bitte nochmal meinen post durch wo ich erkläre wie das ganze funktioniert.

Ich will speichern wie oft ich wieviele steine insgesamt brauche...
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#26

Re: Random(2) in schnell

  Alt 31. Mär 2007, 21:58
wenn du für jeden level speichern willst, dann brauchste 'n array[1..15]. da kannste dann sagen inc(a[level]); und daraus kannste dann 'n wunderbares balkendiagramm zaubern

PS: vermindern kannste den level dann mit dec(level);
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#27

Re: Random(2) in schnell

  Alt 31. Mär 2007, 22:10
hab mal 'n kleines demo zusammengebastelt:

Delphi-Quellcode:
program Project2;
{$APPTYPE CONSOLE}
uses sysutils;

var
 a: array[1..15] of integer;
 i, level: integer;
begin
 level := 1;
 randomize;
 while level < 16 do
 begin
  case random(2) of
   0: begin
       inc(a[level]);
       inc(level)
      end;
   1: begin
       if level > 3 then
        dec(level);
      end;
  end;
 end;
 for i := 1 to 15 do
  writeln(i:3,#9,a[i]);
 readln;
end.
optimierungen musste da noch selbst vornehmen, z.b. wenn 'de 'ne monte carlo methode mit implementieren möchtest....
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#28

Re: Random(2) in schnell

  Alt 31. Mär 2007, 22:18
Das ist aber nichts das was ich haben will!!!
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#29

Re: Random(2) in schnell

  Alt 31. Mär 2007, 22:23
was willste denn dann haben? dachte 'n auswertung, wieviele versuche du brauchst, um durch die jeweiligen level durchzusteigen? genau, das macht es, kannst natürlich noch verfeinern, z.b. mit wievielen versuchen du vergeblich angerant bist... musste halt noch 'ne zweite dimension aufmachen. wie vorhin beschrieben.

ansonsten, zeig doch mal deine ausgabe her? so wie in deinem obigen beispiel, kannste es ja nicht ausgeben... wird ja viel zu unübersichtlich...

PS: beim beispiel, hab ich keine balkengrafik gemacht, sondern halt 'ne ganz normale ausgabe, sollt eigentlich reichen... um das zu testen...
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#30

Re: Random(2) in schnell

  Alt 1. Apr 2007, 09:50
Ich habe mich mal etwas umgehört und Diesen Ansatz bekommen. Nur hab ich gerade keine Muße diese Matrix zu vereinfachen, ich geh aber davon aus, dass hier jemand einen Gaußschen Algo geschrieben hat, in den er diese Matrix recht schnell einbauen kann. Wer hat Lust darauf?
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


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 02:38 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