Умар Машуков, ввод числа в шестандцатиричной системе осуществляется следующим образом std::cin >> std::hex >> i;
Число переводить никуда не нужно, число - это инвариант, оно может быть представлено в любом виде: в десятичном, восьмиричном, шестнадцатиричном и тд.
if (ARR[i] > ARR[i + 1] && ARR[i] > ARR[i - 1])будет выход за пределы массива