[C++] Modulo

0

Jak zrobić w C++ aby wynik modulo był dodatni?
Gdy zastosuję % to dla przykładu np. -5 mod 3 otrzymam -2, a chcę otrzymać wynik: 1.

0

abs() - wartość bezwzględna

0

% nie jest operatorem modulo, tylko operatorem reszty z dzielenia, przy dodatnich liczbach nie ma to znaczenia, a przy ujemnych ma dokładnie taki jak pokazałeś, musisz przerobić liczbę ujemną lub dodatnią na na pewno dodatnią i dopiero modulo

0
int r= a mod b;
if(r<0)
{
  r+=b;
}
0

Dzięki za pomoc, teraz działa jak powinno ;)

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