Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Lait3
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 21
1

Ошибка при присвоении числа переменной

05.12.2016, 04:22. Просмотров 398. Ответов 2
Метки rsa, с (Все метки)

Доброго времени суток. На днях дали задание написать алгоритм RSA. Вроде бы он легкий и понятный и ничего не предвещало беды.НО!!! Мой любимы С++ не ищет легких путей .Дело вот в чем: на одном из этапов мне нужно возвести число в степень.С этим я справился успешно,НО я не могу приравнять число возведенное в степень к переменной!!!! Точнее,переменная присваивает себе значение,но совсем не то,которое нужно да и к тому же отрицательное!!!! Усугубляется все тем,что в некоторых случаях ответ вообще не зависит от того какое число я возвожу в степень. И,естественно,вишенка на вершине торта- в некоторых случаях она работает верно.
Сначала думал что pow возвращает не то значение,но прогнал с помощью отладки и убедился в том что pow возвращает то что нужно! К примеру,pow возвращает 49000000000, но в этой же строке переменная ,которая должна принять это значение становится равной -2140000!
В общем,вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void shifr()
{
     int *mas1 = new int[size(mas)];
 
    for (int i=0;i<size(mas);i++)
    {
          mas1[i] = (int)mas[i];//// стринговский массив,объявлен глобально
    }
        for (int i = 0; i < size(mas); i++)
        {
             masC[i] = pow(mas1[i], E);///// вот тут присваевание проходит не так как нужно!
             masC[i] = masC[i] % N;
        }
    cout << "shifr slova:  ";
    for (int i = 0; i < size(mas); i++)
    {
        cout<<masC[i]<<" ";
    }
    cout << endl;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2016, 04:22
Ответы с готовыми решениями:

Ошибка при присвоении argv[1] переменной string. Как конвертировать к типу string?
&quot;call of an object of a class type without appropriate operator() or conversion functions to...

Ошибка при присвоении(список)
Вот задание:При поступлении в университет лица, получившие оценку «неудовлетворительно» на первом...

При присвоении числа float появляется хвост!
присваеваю переменной Float 1.44 получаю 1,44000005722046 может FloatToStr работает некоректно? ...

Ошибка при присвоении значения элементу матрицы
пытаюсь сделать умножение матриц при присвоении значения в строке 19 matrix_B = 3;// (rand() %...

Ошибка при присвоении значения элементу массива в функции
Есть такая вот структура: struct stantsia { string st; int hPrib,mPrib, hOtb,mOtb; };...

2
zer0mail
2505 / 2139 / 226
Регистрация: 03.07.2012
Сообщений: 7,739
Записей в блоге: 1
05.12.2016, 04:30 2
Проблема не в C++, а в ваших знаниях. Слышали про максимальное значение, которое помещается в int? Используйте long long (хотя и у него есть максимум).
1
Lait3
0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 21
05.12.2016, 04:54  [ТС] 3
Спасибо,помогло. Пробовал только с одной перегрузкой-не сработало,подумал ошибка в другом.с двумя перегрузками,кстати, тоже не вышло,а вот с беззнаковым сработало)
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2016, 04:54

Что значат операторы >> и &, в присвоении переменной
Не знал как иначе назвать тему... Есть функция, которая раскладывает цвет на его составляющие...

Не могу разобраться в присвоении начального значения переменной по умолчанию.
Взял пример из книги: #include &lt;iostream&gt; using namespace std; int main() { double...

Мусор при присвоении оператора +
программа по подсчету времени. Сумируются 2 времени (TT (min hour) и TM(min hour)) time...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.