Bestimmte x-Werte überspringen?

2 Antworten

Du kannst sign(x-a) nutzen, das ist dann 0 wenn x=a ist.
Also zum Beispiel:

x_neu = x + |sign(x-a)|

Wenn also x a ist bleibt x x, sonst wird x zu x+1

Woher ich das weiß:Studium / Ausbildung – Maschinenbaustudent, RWTH Aachen - 8. Fachsemester

Bin mir nicht ganz sicher, was Du meinst, aber Deine Zeile lässt sich noch leicht verkürzen und bleibt dabei trotzdem gut verständlich.

Der Wert der Klammer ist 1, wenn x gleich einer der drei anderen Variablen ist, ansonsten ist der 0. Bei einem nicht optimierenden Compiler ist das sogar schneller.

x=x+(x==a||x==b||x=c)