Инвертирование числа

236
28 февраля 2017, 18:06

Программа должна инвертировать число, но почему-то этого не происходит

#include <cmath>
using namespace std;
int main()
{
    int mass[2];
    int result = 0;
    int num;
    int i = 0;
    cin >> num;
    while (num > 0)
    {
        mass[i] = num % 10;
        i++;
        num  = num / 10;
    }
    int f = 0;
    for (int g = sizeof mass - 1; g >= 0; g--)
    {
        result = (mass[f] * pow(10, g)) + result;
        f++;
    }
    cout << result << endl;
    system("pause");
    return 0;
}
Answer 1

А почему бы вам не поступить проще?

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int num, res = 0;
    cin >> num;
    while(num)
    {
        res = res*10 + num%10;
        num /= 10;
    }
    cout << res << endl;

    system("pause");
    return 0;
}

Что до вашего кода...
Вы работаете только с двузначными числами? Если нет - у вас будет выход за границу mas со всеми вытекающими последствиями.
Далее - вставьте вот такой вывод в программу:

cout << sizeof mass << endl;

Судя по всему, результат вас удивит - он будет не 2, как вы, наверное, ожидали, а 2*sizeof(int) - и вы опять получаете выход за границы массива.

Дальше, собственно, комментировать уже ничего не нужно :(

READ ALSO
Visual Studio не находит определение метода [требует правки]

Visual Studio не находит определение метода [требует правки]

Пишу на C++В заголовочном файле делаю объявления (класса), в

289
Чтение блоков данных из потока

Чтение блоков данных из потока

Если во входном потоке input_stream встретился символ, не являющийся числом (, или ;), то чтение прекратитсяКак после этого можно продолжить чтение...

301
На что способен explicit?

На что способен explicit?

Вроде бы как в новых стандартах можно использовать ключевое слово explicit не только к конструкторам, чтобы предотвратить неявное приведение,...

255
Как преобразавать смайлик в код на pgp и javascript

Как преобразавать смайлик в код на pgp и javascript

Искал и ничего не нашёл, да и что именно искать не знаю

237