INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Nummer generieren



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

08.01.2008, 11:47 (Dieser Beitrag wurde zuletzt bearbeitet: 08.01.2008 12:20 von eg.)
Beitrag #1

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Nummer generieren
Hallo Leute,

ich muss eine in einem schon bestehendem Array nicht vorhandene U32-Nummer generieren. Wie wäre es am einfachsten?

Danke

P.S. in meinen Gedanken:

einfach eine While-Schleife solange ausführen bis der Iterator der While-Schleife im Array nicht vorkommt und dann beenden und ausgeben. Aber ob es bei grösseren Arrays effizient ist???

Oder wäre eine Zuffalszahl bessere Alternative?


Angehängte Datei(en) Thumbnail(s)
   

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2008, 13:23
Beitrag #2

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Nummer generieren
Ne, so wie im Bild 1 geht nicht, ich habe hier eine neue Variante. (noch keine von beiden ausprobiert!)


Angehängte Datei(en) Thumbnail(s)
   

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2008, 14:10
Beitrag #3

VDB Offline
LVF-Stammgast
***


Beiträge: 426
Registriert seit: Oct 2005

2010-2011
1997
kA

52134
Deutschland
Nummer generieren
Warum nimmst du nicht einfach den höchsten Wert aus dem Array und zählst eins drauf?

VDB
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2008, 14:14
Beitrag #4

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Nummer generieren
' schrieb:Warum nimmst du nicht einfach den höchsten Wert aus dem Array und zählst eins drauf?

VDB


Hm, interessant, gut und schnell. Die Zahl wird zwar schneller erschöpft (ich meine die U-32), aber ich werde eigentlich nie so viele clients haben. Ich weiss jetzt nicht wie lange mein Programm laufen wird, die Clients werden sich dynamisch an- und abmelden und immer wieder eine neue höhere nummer bekommen. Hm, überlegenswert. Danke.

Noch Vorschläge?

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2008, 14:21
Beitrag #5

VDB Offline
LVF-Stammgast
***


Beiträge: 426
Registriert seit: Oct 2005

2010-2011
1997
kA

52134
Deutschland
Nummer generieren
' schrieb:Hm, interessant, gut und schnell. Die Zahl wird zwar schneller erschöpft (ich meine die U-32), aber ich werde eigentlich nie so viele clients haben. Ich weiss jetzt nicht wie lange mein Programm laufen wird, die Clients werden sich dynamisch an- und abmelden und immer wieder eine neue höhere nummer bekommen. Hm, überlegenswert. Danke.

Noch Vorschläge?

In einer While Schleife:

Random Zahl (double, 0..1) erstellen, Multiplizieren mit der max. Anzahl an Clients, nach U32 konvertieren.

Solange bis du eine Zahl hast die noch nicht im Array vorhanden ist (search 1D array).

VDB
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2008, 14:27
Beitrag #6

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Nummer generieren
' schrieb:In einer While Schleife:

Random Zahl (double, 0..1) erstellen, Multiplizieren mit der max. Anzahl an Clients, nach U32 konvertieren.

Solange bis du eine Zahl hast die noch nicht im Array vorhanden ist (search 1D array).

VDB


Also doch Zuffalszahl (s.o.), wird es bei Windows (Stichwort: Taskmanager) auch so gemacht?

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
08.01.2008, 14:30
Beitrag #7

VDB Offline
LVF-Stammgast
***


Beiträge: 426
Registriert seit: Oct 2005

2010-2011
1997
kA

52134
Deutschland
Nummer generieren
Windows benutzt sehr gerne sehr viele sogenannte GUIDs um Prozesse, Registry-Einträge usw. auseinander zu halten. Start -> Ausführen -> guidgen.exe wenn du selber eine erstellen möchtest.

Aber das ist hier overkill, glaube ich. Eine Randomzahl müsste hier ausreichen.

VDB
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2008, 14:47
Beitrag #8

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Nummer generieren
Ok, Danke, dann also so:


Angehängte Datei(en) Thumbnail(s)
   

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2008, 14:59
Beitrag #9

Achimedes Offline
LVF-Freak
****


Beiträge: 544
Registriert seit: Aug 2005

2011
2001
DE

72461
Deutschland
Nummer generieren
Wie wärs wenn du die aktuelle Zeit im Zeitstempel ausliest und sie in ne U32 wandelst.
Solange nicht an der Uhrzeitrumgepfuscht wird kommst du damit bis ins Jahr 2040, vielleicht reicht dir das?

Anhand der ID siehst du dannschon wann das ding das erste mal angeschlossen war.

Grüße
Achimedes

Wer Rechtschreibfehler findet .... darf sie behalten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.01.2008, 15:27 (Dieser Beitrag wurde zuletzt bearbeitet: 08.01.2008 16:10 von eg.)
Beitrag #10

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Nummer generieren
' schrieb:Wie wärs wenn du die aktuelle Zeit im Zeitstempel ausliest und sie in ne U32 wandelst.
Solange nicht an der Uhrzeitrumgepfuscht wird kommst du damit bis ins Jahr 2040, vielleicht reicht dir das?

Anhand der ID siehst du dannschon wann das ding das erste mal angeschlossen war.

Grüße
Achimedes

Top1, passt da auch Tick Count, das kommt gleich als U32 raus? Aber die Auflösung ist nur 1 ms, wenn ich das richtig verstehe, was passiert wenn sich mehrere Clients quasi gleichzeitig anmelden wollen? Dann muss ich ja max. 1 ms warten, ich glaube das macht zwar nichts aus, aber ich bleibe doch bei der Zufallszahl. Danke für den Vorschlag.

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Dokumentation generieren mit Doxygen galilio 2 4.021 22.03.2017 11:08
Letzter Beitrag: th13
  Signale generieren Jacky11 4 3.893 26.03.2014 14:41
Letzter Beitrag: Jacky11
  String auslesen und auf Nummer untersuchen Sternhagel 3 5.765 10.05.2011 16:12
Letzter Beitrag: Sternhagel
  error Meldung generieren stromflo 7 8.106 22.10.2010 09:12
Letzter Beitrag: Lucki
  Code-Generieren fuer Mikrocontroller senmeis 11 12.354 16.04.2010 06:45
Letzter Beitrag: rolfk
  Enum aus Programmablauf generieren andimtb 3 6.701 07.03.2010 22:45
Letzter Beitrag: schrotti

Gehe zu: