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

Перевод с java на С++ - C++

Восстановить пароль Регистрация
 
solomid
1 / 1 / 0
Регистрация: 22.09.2011
Сообщений: 86
30.10.2011, 08:30     Перевод с java на С++ #1
Всем доброго времени суток. Возможно ли перевести код с java на С. Я попробовал сам,начал,но там много того что я не знаю чем заменить в С, потому что толком не понимаю что это обозначает.
код не очень большой, половина просто фигни типа вывода,ввода,мат.функций и т.д..
Очень прошу помощи, откликнитесь пожалуйста...

Java
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
118
119
120
package Shenks; 
 
import java.math.BigInteger; 
import java.util.Hashtable; 
import java.util.Iterator; 
import java.util.Map.Entry;
 
public final class Program { 
 int main(String[] args) { 
 if(args.length==3) 
 { 
 cout << "y=a^x(mod n) x-?"; 
 cout << "y= "+args[0]<<endl; 
 long y=new args[0]; 
 cout <<"a= "+args[1]<<endl; 
 long a=new args[1]; 
 cout << "n= "+args[2]<<endl; 
 int n=new args[2); 
 Shanks(y, a, n); 
 }
 else 
 { 
 cout <<"Expecting 3 arguments to run");
 } 
 } 
 public static int Shanks(BigInteger y,BigInteger a,int n) 
 { 
 Hashtable babySteps=new Hashtable(); 
 Hashtable giantSteps=new Hashtable(); 
 int result=0; 
 int s=(int)Math.floor((( Math.sqrt(n)))); 
 BigInteger N=BigInteger.valueOf(n); 
 System.out.print("s="); 
 System.out.println(s); 
 System.out.println("Starting baby steps,baby!:)"); 
 BigInteger temp=y; 
 for(int i=0;i
 { 
 BigInteger value=temp.mod(N); 
 babySteps.put(i, value); 
 temp=temp.multiply(a); 
 } 
 // TODO: Do Giant steps 
 System.out.println("Starting giant steps,oh my god!!!:)"); 
 for(int i=0;i
 {  
 temp=a.modPow(BigInteger.valueOf(s*(i+1)), N);  
 giantSteps.put((i+1)*s,temp); 
 } 
 System.out.println("Comparing giant steps and baby steps"); 
 Iterator> set1=babySteps.entrySet().iterator(); 
 Boolean loop=true; 
 int loopN=0; 
 while(set1.hasNext()&& loop) 
 { 
 Entry entry1=set1.next(); 
 Iterator> set2=giantSteps.entrySet().iterator(); 
 while(set2.hasNext() && loop) 
 { 
 Entry entry2=set2.next(); 
 if(entry1.getValue().equals(entry2.getValue())) 
 { 
 System.out.print("Entry found:"); 
 result=entry2.getKey()-entry1.getKey(); 
 System.out.println(result); 
 loop=false; 
 } 
 } 
 loopN++; 
 } 
 System.out.print("Test:"); 
 if(y.equals(a.modPow(BigInteger.valueOf(result),BigInteger.valueOf(n)))) 
 System.out.println("OK"); 
 return result; 
 } 
}
package Shenks; 
import java.math.BigInteger; 
public final class Decrypt { 
 public static String Alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ ,."; 
 public static void main(String[] args) { 
 System.out.println( 
 String.format("Pass:%s", args[0]) ); 
 System.out.println( 
 String.format("c1:%s", args[2]) ); 
 System.out.println( 
 String.format("P:%s", args[1]) ); 
 Integer pass=new Integer(args[0]); 
 BigInteger p=new BigInteger(args[1]); 
 BigInteger c1=new BigInteger(args[2]); 
 for(int i=3;i
 System.out.println( 
 String.format("ci:%s", args) ); 
 System.out.println("==DECRYPTION=="); 
 for(int i=3;i
 { 
 BigInteger c2=new BigInteger(args); 
 BigInteger m=DecryptGamal(pass,c1,c2,p); 
 String msg=GetMessage(m.intValue()); 
 System.out.print(msg); 
 } 
 } 
 private static String GetMessage(Integer m) { 
 Integer val=m; 
 String result=""; 
 for(int i=0;i
 { 
 int index=val%100; 
 result=Decrypt.Alphabet.charAt(index)+result; 
 val=val/100; 
 } 
 return result; 
 } 
 private static BigInteger DecryptGamal(Integer pass, BigInteger c1,BigInteger c2, BigInteger p) { 
 BigInteger bigpass=p.subtract( 
 BigInteger.valueOf((long)(pass+1))); 
 BigInteger c1pow=c1.modPow(bigpass, p); 
 BigInteger result=((c2.mod(p)).multiply(c1pow)).mod(p); 
 return result; 
 }
Добавлено через 12 часов 10 минут
тема может быть закрыта, я сделал программу сам
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2011, 08:30     Перевод с java на С++
Посмотрите здесь:

Перевод кода с Java на С++ C++
C++ Перевод с с++ на c#
C++ Перевод кода с Java
C++ Перевод кода с Java
C++ Перевод с Java на C++
C++ Перевод кода из java в С++
C++ Перевод C#->C++
C++ Перевод кода с Java на С++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 14:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru