Odejmowanie w ograniczonym przedziale

0

Witam!
Jak zapisać w jednym poleceniu coś takiego jak dla dodawania ale dla odejmowania:

maks:=10;
delta:=1;
nr_obrazka:=(nr_obrazka MOD maks)+delta;//UNIWERSALNE DODAWANIE w przedziale od 1 do maks

a teraz jak zrobić odejmowanie:

nr_obrazka:=nr_obrazka-delta;
if nr_obrazka<1 then nr_obrazka:=maks;

dodanie znacznika <code class="delphi"> i tagów - fp

1

Jak zadziała twoje dodawanie jeżeli:

nr_obrazka=99;
maks=100;
delta=50;

wg mnie wychodzi 149, czy nie powinno być do maks?
Poza tym całość jest od 0 zaś piszesz od 1, co jest błedem?

nr_obrazka:=((nr_obrazka+delta) MOD maks); //UNIWERSALNE DODAWANIE w przedziale od 0 do maks
nr_obrazka:=((nr_obrazka+maks-delta) MOD maks); //UNIWERSALNE ODEJMOWANIE w przedziale od 0 do maks
0

Ok a jak to ma wyglądać w przedziale od 1 do max?

1
nr_obrazka:=((nr_obrazka+delta-1) MOD maks)+1; //UNIWERSALNE DODAWANIE w przedziale od 0 do maks
nr_obrazka:=((nr_obrazka+maks-delta-1) MOD maks)+1; //UNIWERSALNE ODEJMOWANIE w przedziale od 0 do maks

1 użytkowników online, w tym zalogowanych: 0, gości: 1