← Усі приклади

У шістнадцяткову

C++ Алгоритми

цикл + масив

Блок-схема за ДСТУ

ТакНіТакНіПочатокВвід n* digits = "0123456789ABCDEF"k = 0n == 0Вивід «0»ПовернутиКінецьn > 0buf[k] = digits[n % 16]n /= 16k++i = k - 1, 0, -1Вивід buf[i]КінецьРисунок 1 — toHex

Вихідний код

void toHex(int n) {
    const char* digits = "0123456789ABCDEF";
    char buf[32];
    int k = 0;
    if (n == 0) {
        cout << "0";
        return;
    }
    while (n > 0) {
        buf[k] = digits[n % 16];
        n /= 16;
        k++;
    }
    for (int i = k - 1; i >= 0; i--) {
        cout << buf[i];
    }
}