PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : maximaler Wert



tischheber
13.02.2010, 21:14
hallo.
wie kann ich einen maximalen Wert von z.b 5 Sensoren nehmen?
und was bedeutet der befehl winkel %= 360;?

askazo
14.02.2010, 18:07
Ein bißchen ausführlicher könnte Deine Fragestellung schon sein... naja, ich versuchs mal.

Um den maximalwert von mehreren Sensoren zu erhalten, würde ich so vorgehen (Die Funktion GetSensor() ist jetzt mal frei erfunden, ich weiß ja nicht, wo Du Deine Sensor Werte herbekommst)


int MaxWert;
int SensorWert[5];
MaxWert = SensorWert[0] = GetSensor(0);

SensorWert[1] = GetSensor(1);
if(SensorWert[1] > MaxWert)
MaxWert = SensorWert[1];

SensorWert[2] = GetSensor(2);
if(SensorWert[2] > MaxWert)
MaxWert = SensorWert[2];
[....]


Zu Deiner zweiten Frage:
% ist der Modulo-Operator, das heißt er ermittelt den Rest einer Division.
z.B. 6%4 = 2

Die Schreibweise winkel %= 360 ist eine verkürzte Schreibform von winkel = winkel % 360. Auf die Variable winkel wird also eine Modulo-Division durch 360 durchgeführt. Dadurch wird erreicht, dass die Variable winkel nach der Operation nicht größer als 360 sein kann, egal wie groß sie vorher war.

Gruß,
askazo

tischheber
14.02.2010, 21:10
ah ok , danke.

auf das mit dem maxWert hätt ich auch drauf kommen können....
ich hab zuerst gefragt ob der Sensor 1 größer ist als die anderen und wenn nicht das gleiche mit dem sensor 2 gemacht und so weiter halt

und das Mit dem Rest der Division geht dann wohl so:
4 passt 1mal in die 6 rein und es bleibt 2 übrig -> Rest=2

wenn der winkel 370 grad ist wird er umgerechnet in 10 grad.

ok verstanden
danke nochmal

Jaecko
14.02.2010, 21:20
Beim Beispiel mit 6 und 4 nicht ganz: Rest wäre in dem Fall (6 % 4) = 2.

tischheber
14.02.2010, 21:38
ja schon klar.
sry Tippfehler