Vielleicht wird string in deiner Implementierung von nem anderen Header (z.B. iostream) mit eingebunden. Aber string.h ist ein C-Header, der die ganzen alten C-String-Handling-Funktionen wie strcmp, strstr usw. deklariert.
string war auch im alten C++-Standard schon ohne .h hinten dran, eben wegen dieser Doppeldeutigkeit. Inzwischen sollte man das .h aber von allen C++-Standard-Headern weglassen. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra
Danke, hat geklappt! Nur das mit dem string nicht!
Barney
Jetzt muss ich nur noch rausfinden, wie ich eine Zufallszahl zwischen 0 und 1 generiere, die nicht abhängig von der Zeit ist...Dieser Post wurde am 26.04.2004 um 15:53 Uhr von Barney editiert.
Jetzt muss ich nur noch rausfinden, wie ich eine Zufallszahl zwischen 0 und 1 generiere, die nicht abhängig von der Zeit ist
damit wirst du wohl schwierigkeiten haben. du bräuchtest schon eine externe rauschquelle von der du einen quantisierten wert abliest. es gibt auch internetseiten von denen du dir einen solchen zufallswert der aus der hintergrundstrahlung ermittelt wird schicken lassen kannst. was spricht denn bei dir dagegen den zufallsgenerator mit der zeit zu initialisieren? wenn du dich sogar nur auf 0 und 1 beschränken willst sollte das doch überhaupt kein problem aufwerfen -- ...fleißig wie zwei WeißbroteDieser Post wurde am 26.04.2004 um 16:06 Uhr von Windalf editiert.
Naja, ich habe die Aufgabe in ein quadratischen Feld eine bestimmt Anzahl an Punkten einzuwerfen. Das wollte ich mit folgender Funktion machen:
srand( time(0) );
Wenn ich die Funktion jetzt kurz hintereinander aufrufe sind die Zahlen nur minimal unterschiedlich. Ich hab das Gefühl, dass nachher im Feld alle Punkte eng beieinander liegen und nicht unregelmäßig über das ganze Feld verteilt...
BarneyDieser Post wurde am 26.04.2004 um 16:35 Uhr von Barney editiert.
das ist halt das problem bei auf dem rechner erzeugten zufallszahlen, die sind halt nicht wirklich zufällig (deswegen heissen die ja auch nur pseudo-random numbers) weil die halt nach ner folge berechnet werden die halt bei irgend nem startwert beginnt den du mit dem srand festlegst.
wenn du dein programm innerhalb kurzer zeit oft hintereinander aufrufst wird er natürlich auch immer das gleiche auspucken weil du quasi immer mit dem gleichen wert initialisierst.
wenn du das nicht willst musst da halt sicherstellen das dein programm z.b. maximal jede minute einmal aufgerufen werden kann. -- ...fleißig wie zwei Weißbrote
Das wäre ja nicht das Problem. Ich dachte bis jetzt nur, wenn ich zwanzig Werte haben möchte, dass das Programm diese Werte natürlich schnell hintereinander bestimmt. Dann unterscheiden die sich ja auch nicht sonderlich, oder mach ich einen Denkfehler??