Odejmowanie w ograniczonym przedziale

Odejmowanie w ograniczonym przedziale
12
  • Rejestracja: dni
  • Ostatnio: dni
0

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

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

a teraz jak zrobić odejmowanie:

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

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

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1

Jak zadziała twoje dodawanie jeżeli:

Kopiuj
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?

Kopiuj
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
12
  • Rejestracja: dni
  • Ostatnio: dni
0

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

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1
Kopiuj
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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.