В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Вы ищете, как выполнить операции на больших исходных данных, которые Вы получаете? Существует большой целочисленный C++ библиотека (подобный Java), который позволяет Вам выполнять арифметические операции...
Это кажется на поиск способа ввести номера Произвольной точности. вот две библиотеки, которыми Вы могли пользоваться: GMP и MAPM
принятие Вас говорит о вводе чисел, двойная точность получила бы Вас до 1,7976931348623157 x 10^308
Если Вы хотите заставить свой собственный код для цели попытаться использовать строки для хранения больших чисел... можно затем создать основную операцию в секунду как + - / * на них..., например -
#include <iostream>
using namespace std;
string add (string &s1, string &s2){
int carry=0,sum,i;
string min=s1,
max=s2,
result = "";
if (s1.length()>s2.length()){
max = s1;
min = s2;
} else {
max = s2;
min = s1;
}
for (i = min.length()-1; i>=0; i--){
sum = min[i] + max[i + max.length() - min.length()] + carry - 2*'0';
carry = sum/10;
sum %=10;
result = (char)(sum + '0') + result;
}
i = max.length() - min.length()-1;
while (i>=0){
sum = max[i] + carry - '0';
carry = sum/10;
sum%=10;
result = (char)(sum + '0') + result;
i--;
}
if (carry!=0){
result = (char)(carry + '0') + result;
}
return result;
}
int main (){
string a,b;
cin >> a >> b;
cout << add (a,b)<<endl;
return 0;
}
Вы могли бы хотеть взглянуть к gmplib, библиотека обработки числа произвольной точности для C и C++
Если Вы хотите, чтобы это было точно, Вам нужна библиотека, заставленная иметь дело с большими числами. Java имеет BigInt, который всегда будет точен, неважно, к какому количеству цифр Вы хотите взять его, и обеспечивает математические операции на них. Весь исходный код включен, Вы могли передать его, но это действительно не вид вещи, в которой C++ является лучшим - я использовал бы основанный на JVM язык и пользовался бы одной из библиотек Big.
я не думаю, что использовал бы рубин для этого, если Вы не хотели, чтобы он был медленным, и я предполагаю, что, так как Вы говорите о C++, скорость является своего рода конструктивным соображением.
Как другие уже указали, существуют различные библиотеки сверхбольшого числа/произвольной точности в C++, который Вы, вероятно, нашли бы полезным. Если скорость не необходима, у меня создается впечатление что Python и Lisp оба сверхбольших числа использования по умолчанию.