int auf seinen maximal/minimal möglichen wert setzen
-
hallo,
ich muss in einem bestimmten bereich eines vectors den höchsten und niedrigsten wert herausfinden. also durchlaufe ich in einer schleife diesen wertebereich, und schaue ob der aktuelle wert > bzw < als der minimal wert ist. bloß mit welchen werten initialisiere ich die beiden werte am anfang? 0 is ja schlecht, denn falls der minimale wert>0 ist sagt er mit ja folglich einen falschen wert. ich könnte natürlich anfangs auch erstmal min auf den höchsten wert und max auf den niedrigsten setzen und danach die werte suchen, nur is das ja etwas umständlich. also hab ich mir gedacht, könnte ich ja auch einfach max mit dem niedrigsten wert initialisieren, den int aufnehmen kann und min mit dem höchsten, oder spricht da was gegen?
oder gibt es vielleicht sogar ne bessere methode?grüsse putty
-
std::limits<int>::max ist der Maximalwert für int.
(<limits> inkludieren)
-
jo weis ich... ich wollte wissen ob es ne bessere methode gibt?
grüsse putty
-
oder
0xFFFFFFFF
ist einfacher zu verhalten (allerdings muss sizeof(int) 4 sein).
-
lol ich depp is ja ganz easy... ich setz einfach max und min auf den ersten wert von dem bereich im vector
thx trotzdem
-
wenn du das grösste element finden willst, dann nimm doch std::max_element anstatt das selber zu coden.
-
jo danke das hätt ich gesucht, aber meine methode is für meine anwendung viel schneller und einfacher
-
wie das? interessiert mich jetzt. schneller als in linearer zeit lässt sich das ja kaum lösen und der stl algo macht genau das. oder hat der vector eine bestimmte ordnung, die man ausnutzen kann?
-
lies dir meinen ersten post durch... ich hab geschrieben das meine lösung für meine anwendung schneller ist
grüsse putty
-
putty schrieb:
lies dir meinen ersten post durch... ich hab geschrieben das meine lösung für meine anwendung schneller ist
leis meinen auch nochmal. das war eine frage
deshalb interessiert mich warum es für deine anwendung besser ist. vielleich6t lern ich ja was. ausser du willst das nicht verraten.
-
Es könnte schneller sein, wenn er das kleinste und das größte Element sucht. Oder gibts dafür auch was in der STL?
-
hi,
hm müsst ich mal ausprobieren, könnte schneller sein
@optimizer: hey dein spiel is coolwie lang arbeiteste schon daran?
eine anregung: die steinwerfer sollten imo keine zielsuchenden steine habengrüsse putty
-
Das Problem ist, ich hab noch keine Idee, wie ich die Steinewerfer voraus werfen lassen kann...
Sonst treffen sie ja bewegliche Objekte überhaupt nicht mehr.
-
vielleicht baust du ein, das du abrufen kannst, in welche richtung sie sich bewegen, und dahin werfen dann die männchen?
grüsse steve
-
Ja, aber wie weit voraus? Dazu müsste man ausrechnen, wie lang der Stein zur Position braucht. Das hängt wieder von der Entfernung zum Ziel ab, aber die Zielposition hab ich ja noch gar nicht. Das ist ein interressantes mathematisches Problem.
Ich hab mich damit noch nicht befasst, deshalb hab ich da auch noch keinen Plan, wie ich das mal machen werde. Unter Umständen sieht es ja auch vielleicht gar nicht gut aus, wenn der Werfer vorauswirft, das Ziel seine Richtung daraufhin ändert und der Stein dann 9730465km daneben landet.
Ich mach mir dazu vorerst noch keine Gedanken.