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

Ввод данных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка http://www.cyberforum.ru/cpp-beginners/thread1041109.html
Нужно создать программу для сортировки массива из 10 элементов типа unsigned int поразрядной сортировкой и сортировкой выбором . заполнение массива случайно или как константа. вот код паскаль:uses crt; const n=10; type itype=word; var mass : array of itype; i, j,x, k: integer; Procedure Swap(Var a, b: itype); Var p: integer;
C++ Разделить цифры, стоящие на нечётных местах на 3 Дано число. Разделить цифры, стоящие на нечётных местах на 3. Если не делятся без остатка, то оставить без изменения. помогите пожалуйста составить программу с++ пожалуйста http://www.cyberforum.ru/cpp-beginners/thread1041094.html
Будильник Bada C++
Так как среда разработки называется bada C++ имею полное право сюда писать. Вообще те у кого смарты на баде вообщем стандартном будильнике не воспроизводится звуки при сигнале будильника на наушники вот как решить эту проблему. Объясню это для того чтобы когда ложишься спасть подключим к разъему колонок телефон утром он заиграл на громкости колонок А то я уже з@#$ся просыпать =) Ну вообщем если...
C++ Определить, кратны ли числа последовательности своему порядковому номеру
Дана последовательность целых чисел, конец которой обозначен нулем. Определить, кратны ли числа последовательности своему порядковому номеру. помогите пожалуйста составить программу с++ пожалуйста
C++ Работа с диском http://www.cyberforum.ru/cpp-beginners/thread1041080.html
Приветствую всех! Умею пользоваться fstream, stdio, но дело не в этом. Нужно максимальное быстродействие. Слышал про такие тонкости как выборочное чтение и время позиционирования головок. Слышал что если нужно найти что то в файле, быстрее будет закешировать его целиком, и искать в памяти. Где найти более подробную инфу про быстродействие работы диском?
C++ Интеграл Подскажите пожалуйста как посчитать функцию. Я просто не понимаю, у нас же надо посчитать на y с шагом h Но функция же зависит от x вроде, и в когда с чем считать я что-то не врублюсь) см.фото подробнее

Показать сообщение отдельно
oks1d
4 / 1 / 0
Регистрация: 24.10.2013
Сообщений: 91
14.12.2013, 16:00  [ТС]     Ввод данных
Программа хорошо компилируется , вот ход работы
Введите значения p,g,x
ввожу..
ввожу..
ввожу..
Открытый ключ ...бла бла бла
Закрытый ключ бла бла бла..
Шифруемый текст: ввожу..
//затем должно быть написанно дешифруемый текст и вывести то значение которое я зашифровал но выводит на экран просто надпись Дешифрованный текст: (без значения) , оператор вывода у меня в коде есть не пойму в чем дело.
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
#include <fstream>  
#include <iostream>
using namespace std;
int power(int a, int b, int n){// a^b mod n
    int tmp=a; 
    int sum=tmp; 
    for(int i=1;i<b;i++){ 
        for(int j=1;j<a;j++){ 
            sum+=tmp; 
            if(sum>=n){ 
                sum-=n; 
            } 
        } 
        tmp=sum; 
    } 
    return tmp; 
    system("pause");
} 
 
int mul(int a, int b, int n){// a*b mod n 
    int sum=0; 
     
    for(int i=0;i<b;i++){ 
        sum+=a; 
         
        if(sum>=n){ 
            sum-=n; 
        } 
    } 
 system("pause");
    return sum; 
} 
 
/***************************************************** 
    p - простое число
    0 < g < p-1
    0 < x < p-1
    m - шифруемое сообщение m < p
*****************************************************/
void crypt(int p,int g,int x, string inFileName,string outFileName){ 
    ifstream inf(inFileName.c_str()); 
    ofstream outf(outFileName.c_str());
    setlocale( LC_ALL,"Russian" );
    cout<<"Введите значения для p,g,x\n";
    cin>>p>>g>>x;
 
    int y=power(g,x,p); 
     
    cout<<"Открытый ключ (p,g,y)="<<"("<<p<<","<<g<<","<<y<<")"<<endl; 
    cout<<"Закрытый ключ x="<<x<<endl; 
     
    cout<<"\nШифруемый текст:"<<endl; 
    char m;
    cin>>m;
    while(inf.good()){ 
        int m=inf.get(); 
        if(m>0){ 
            cout<<(char)m; 
             
            int k=rand()%(p-2)+1; // 1 < k < (p-1) 
            int a= power(g,k,p); 
            int b= mul(power(y,k,p),m,p); 
            outf<<a<<" "<<b<<" "; 
        } 
    } 
 
    cout<<endl; 
 
    inf.close(); 
    outf.close(); 
    system("pause");
} 
 
void decrypt(int p,int x,string inFileName,string outFileName){ 
    ifstream inf(inFileName.c_str()); 
    ofstream outf(outFileName.c_str()); 
      setlocale( LC_ALL,"Russian" );
 
    cout<<"\nДешифрованый текст:"<<endl; 
 
    while(inf.good()){ 
        int a=0; 
        int b=0; 
        inf>>a; 
        inf>>b; 
         
        if(a!=0&&b!=0){ 
            //cout<<a<<" "<<b<<endl; 
         
            int deM=mul(b,power(a,p-1-x,p),p);// m=b*(a^x)^(-1)mod p =b*a^(p-1-x)mod p 
            char m=static_cast<char>(deM);
            outf<<m; 
            cout<<"m="<<m<<"";  
        } 
    } 
     
    cout<<endl; 
 
    inf.close(); 
    outf.close(); 
    system("pause");
}
 
int main(){
 
    srand(time(NULL));
   setlocale( LC_ALL,"Russian" );
 
    crypt(593,123,8, "in.txt","out_crypt.txt"); 
    decrypt(593,8,"out_crypt.txt","out_decrypt.txt");
    system("pause");
    return 0;
}
 
Текущее время: 05:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru