Форум программистов, компьютерный форум CyberForum.ru

Остаток от деления больших чисел в массивах - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ |cos x - cos y| в степени http://www.cyberforum.ru/cpp-beginners/thread850374.html
|cos x - cos y| в степени 1 + 2sin2y(1 + z + (z*z)/2 + (z*z*z)/3 + (z*z*z*z)/4) помогите найти ответ, и ошибку какую я допустил, я хз как по модулю высчитать косинус икс и косинус игрек , но код таков #include "iostream" #include "math.h" #include "iomanip" #include "conio.h"
C++ Строки. Поменять местами слова Привет, форум. Интересует решение такого задания: поменять слова в строке по принципу "первое со вторым, третье с четвертым и т.д." Долго сидел с этой задачей, использовал инклюд <string>. Но постоянно при решении слова разъезжаются в разные стороны и т.д. Может, использовать строки в стиле С? Заранее спасибо за любую информацию (или решение ;)) http://www.cyberforum.ru/cpp-beginners/thread850366.html
Описать базовый класс Элемент C++
Описать базовый класс Элемент. Закрытые поля: имя элемента (строка символов); количество входов элемента; количество выходов элемента. Методы: конструктор класса без параметров; конструктор, задающий имя и устанавливающий равным 1 количество входов и выходов; конструктор, задающий значения всех полей элемента. Свойства:
Создание окна WinAPI в Visual Studio, графика и кнопки C++
собственно вопрос - как? конечно понимаю что можно и другие кнопочки потыкать, может там и проще будет. Интересует именно это.
C++ Теряется указатель на переменые в классе http://www.cyberforum.ru/cpp-beginners/thread850351.html
образован двусвязный список. Данные находятся в трех перменныех, посел поступления данных в функцию sAge указатели на перменные типа char теряются и значения перменных _name, _univer "+ st1 {_name=0x004c49c8 "оюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюо юоюо юоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюоюЕ†іe*Ї" _age=22 _univer=0x004c4948 "оюоюоюоюоюоюоюоюоюоюоюоюЗ†іg0Ї" } people" ...
C++ вывод переменной из файла .txt чтобы записать переменную в .txt, пишу ofstream myfile; myfile.open ("example.txt"); myfile << perem1; myfile.close(); как мне записанное в .txt записать в переменную? подробнее

Показать сообщение отдельно
Monster-Lock
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 9
27.04.2013, 22:42     Остаток от деления больших чисел в массивах
Пытаюсь реализовать полностью рабочий шифр Диффи-Хеллмана. Возведение в большую степень реализовал, но вот как реализовать получение остатка от деления - не знаю. Были мысли делить поразрядно, но это слишком трудоемко, по моему мнению. Поэтому прошу вашей помощи, как можно реализовать остаток от деления двух больших чисел, содержащихся в массивах? И еще, в коде есть одна неточность, из-за которой в произведении получается много нулей, а уже потом идет само произведение. Я знаю, что это из-за
C++
1
sizeRez
, но как вычислить именно то значение sizeRez, чтобы оно идеально подходило? Код не совсем маленький, поэтому спрячу его под спойлер.
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include "stdafx.h"
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main(){
    int shift=0, temp, firstNumVal, numVal, sizeRez, countNum;
    string firstNum, secondNum, rezfirst, rezsecond;
    firstNum="11";
    secondNum="11";
    ostringstream ss;
    for (int k=1; k<100; k++)
    {
    sizeRez=firstNum.length()+secondNum.length();
    int* product = new int  [sizeRez];
    memset(product, 0, sizeRez*sizeof(int));
    for (int f=firstNum.length(); --f>=0;)
    {
        firstNumVal=firstNum[f]-'0';
        countNum=shift;
        for (int s=secondNum.length(); --s>=0;)
        {           
            numVal=firstNumVal*(secondNum[s]-'0');
            product[countNum]    += numVal%10;
            if (product[countNum]>=10) 
                {product[countNum]-=10; ++product[countNum+1];}
            product[countNum+1]  += numVal/10;
            if (product[countNum+1]>=10) 
                {product[countNum+1]-=10;; ++product[countNum+2];}
            ++countNum;
        }
        ++shift;
    }
    shift=0;
    countNum=0;
    firstNum.clear();
    ss.str(string());
    for (int i=sizeRez; --i>=0;){
        ss<<product[i];
        product[i]=0;
    firstNum=ss.str();
    }
    }
    for (int i=95; i<sizeRez; i++)
    {
        rezfirst[i-95]=firstNum[i];
        cout<<firstNum[i];
    }
    cout<<endl<<endl;
    firstNum="2";
    secondNum="2";
    for (int k=1; k<256; k++)
    {
    sizeRez=firstNum.length()+secondNum.length();
    int* product = new int  [sizeRez];
    memset(product, 0, sizeRez*sizeof(int));
    for (int f=firstNum.length(); --f>=0;)
    {
        firstNumVal=firstNum[f]-'0';
        countNum=shift;
        for (int s=secondNum.length(); --s>=0;)
        {           
            numVal=firstNumVal*(secondNum[s]-'0');
            product[countNum]    += numVal%10;
            if (product[countNum]>=10) 
                {product[countNum]-=10; ++product[countNum+1];}
            product[countNum+1]  += numVal/10;
            if (product[countNum+1]>=10) 
                {product[countNum+1]-=10;; ++product[countNum+2];}
            ++countNum;
        }
        ++shift;
    }
    shift=0;
    countNum=0;
    firstNum.clear();
    ss.str(string());
    for (int i=sizeRez; --i>=0;){
        ss<<product[i];
        product[i]=0;
    firstNum=ss.str();
    }
    }
    for (int i=178; i<sizeRez; i++)
    {
        rezsecond[i-178]=firstNum[i];
        cout<<firstNum[i];
    }
 
    cout<<endl; system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru