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

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)