bonjour;j'ai un probleme lorsque je compile mon programme il affiche cette erreur :
21 C:\Dev-Cpp\algoRSA.cpp expected primary-expression before ')' token
voici le code:



Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
    //programme C pour mettre en œuvre l'algorithme de cryptographie RSA 
    #include <stdio.h> 
    #include <string.h> 
    long power(long a, long b) { long r = 1, i; for (i = 1; i <= b; i++) r = r * a; 
    return r; 
    }
 
    void main () {
         long p, q, N, Z, D, E, i, j, n, z, d, e, count = 0, somme, k; 
         char s [25], ch [25], c [ 25]; 
         long v [25], res; 
         printf ("Entrez deux nombres premiers:"); 
         scanf ("% d% d", & p, & q); 
         n = p * q; 
         z = (p - 1) * (q - 1); 
         printf ("La valeur de n est% d", n); 
         printf ("La valeur de z est% d", z); 
 
         for ( i = p; i <= q; i + + ) {count = 0; for (j = 1; j <= z; j + +) {
             if (i % j == 0 && z % j == 0) count + +;} if (count == 1) {d = i; break;}
             } 
         printf ("La valeur de d est% d", d);
         somme = 1 + z; 
             if (%somme d == 0) {e = somme / j, k = 1;} 
             else {k = 2, tandis que (somme (k *)% d = 0!) {k + +;} e = (somme * k) / j;} 
             printf ("La valeur e est% d", e); 
             printf ("Entrez la chaîne dans la capitale ::"); 
             scanf ("% s", & s); 
         for (i = 0; s [i] = '\ 0';! i + +) v [i] = (s [i]) - 64; 
         printf ("La chaîne est% s", s); 
         printf ("La chaîne en nombre est \ n"); 
         for (j = 0; i, j <; j + +) printf ("% d \ t" , v [j]); printf ("\ n"); 
         for (j = 0; j <i, j + +) {res = puissance (v [j], e); c [j] = res n%;} printf ("Le texte crypté est \ n"); 
         for (j = 0; j <i, j + +) printf ("% d \ t", c [j]); printf ("\ n"); 
         for (i = 0; i <j; i + +) {ch [i] = c [j] + 64;} 
         for (j = 0; j <i, j + +) {res = puissance (c [j], d); v [ j] =% res n;} printf ("Le texte original est \ n");
         for (j = 0; j <i, j + +) printf ("% d \ t", v [j]);
         printf (" \ n "); 
         return 0;
         }