الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طلب من مبرمجي الجافا

مغلق
بدأه الولهانة في 19 مارس 2007 · 3 رد · 458 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله بركاته

لدي هذا الكود لقد قمت بكتابته بال C++

واريد تحــــــويله الى لغة الجافا :)

ما الحل واكون لكم شاكره

class HugeInteger
{
public:
	HugeInteger();



	void input();
	void const output();
	void add(const HugeInteger&);
	void subtract(const HugeInteger&);

	bool isEqualTo(const HugeInteger&);
	bool isNotEqualTo(const HugeInteger&);
	bool isLessThan(const HugeInteger&);
	bool isLessThanOrEqualTo(const HugeInteger&);
	bool isGreaterThan(const HugeInteger &);
	bool isGreaterThanOrequalTo(const HugeInteger&);
	bool isZero;
	~HugeInteger();



private:
	int const ArraySize;
	int const [40];
	int intConversion(char);
	void CopyArray( int[], const int[]);

};

#include<iostream>
using std::cout;
using std::cin;
using std::endl;


#include "HugeInteger.h"

HugeInteger::HugeInteger()
:ArraySize(40)
{

	for (int i = 0; i < ArraySize; i++)
		number = 0;
}:

void HugeInteger::input()
{
	char line[50];
	int temp[40]= {0};

	cout<<"Enter 40 numbers to be entered into the array"<<endl;
		cin.getline(line, 50);

		if(stren(line))!= ArraySize)
			cout>>"The values enter are either too long or two short, they have not been intialized"<<endl;
		else{


		for (int i = ArraySize - 1, j= 0; i >=0; i--, j++}
{
	if(intConversion(line[j]) != -1)
		temp= IntConversion(line[j])

	else{
		temp = 0;
		cout<<"Array not filled, enter integers only!"<<endl;

		break;
	}
}
	for(int i = 0; i<ArraySize; i++)
	number = temp;

}
};

void HugeInteger::output()const
{
	cout<<"The integers in the array are:"
		for( int = ArraySize - 1; i >= 0;i++)
			cout<<number;
	cout<<end;
};
void HugeInteger::add(const HugeInteger & Num 2)
{
	int carry = 0, temp;
	for(int = i; i < ArraySize - 1; i++)
	{
		temp= number;
		number = temp + Num2.number + carry %10;
		carry = (temp + Num2.number + carry %10;
	}
	number[ArraySize - 1]= number[ArraySize - 1] + Num2.number[ArraySize - 1] + carry);
};
void HugeInteger::subtract(const HugeInteger & Num 2)
{
	int copyNum[40];

	if( isGreatThanOrEqualTo(Num2))
		subtract_array((*this).number,Num2.number);
	else{
		CopyArray{copyNum, Num2.number);
		subtract_array(copyNum(*this).number);
		for( int i = ArraySize - 1; i>=0; i++)
		{
			if (copyNum! = 0)
			{
				copyNum*= -1;
				break;
			}
		}
		CopyArray((*this).number, copyNum);
		}
	};
	void HugeInteger::subtract_arrays(int array1[], const int array2[])
	{
		for(i = 0; i < ArraySize; i++)
		{
			if (array1<array2 && (i+1)<= ArraySize - 1)
			{
				array1 = array + 10;
				array1[i + 1] = array1[i + 1] - 1;
			}

			array1 = array - array2;
		}
	};
	void HugeInteger::CopyArray( int array1[], const int array2[])
	{
		for (int = 0; i < ArraySize; i++);
		array = array2;
	};
	bool HugeInteger::isEqualTo (const HugeInteger & Num2)
	{
		for (int = 0; i < ArraySize; i++);
		if number != Num2.number) return false;
		return true;
	};

bool HugeInteger::isNotEqualTo (const HugeInteger & Num2)
	{
		if (!isEqualTo(Num2) return true;
		return false;
	};

bool HugeInteger::isGreaterThan (const HugeInteger & Num2)
	{
		if (isEqualTo(Num2) return false;

		else
		{
			for(int = 0; i < ArraySize; i++); 
			if( number <Num2.number) return false;
		}
		return true;
	};
bool HugeInteger::isLessThan (const HugeInteger & Num2)
	{
		if (isEqualTo(Num2) \\isGreaterThan(Num2)) return true;

	}
	return false;
};
bool HugeInteger::isLessThanOrEqualTo (const HugeInteger & Num2)
	{
		if (isEqualTo(Num2) \\isLessThan(Num2)) return true;


	return false;

};
bool HugeInteger::isZero()
{
	for (int i= 0;; i < ArraySize; i++);
	if(number!= 0) return false; 

	return true;
}
HugeInteger::~HugeInteger()
{
	cout<<"the array is being destroyed"<<endl;


	int HugeInteger::IntConversion( char ToCovert)
	{
		switch (ToConvert)
		{
		case '1': return 1;
		case '2': return 2;
		case '3': return 3;
		case '4': return 4;
		case '5': return 5;
		case '6': return 6;
		case '7': return 7;
		case '8': return 8;
		case '9': return 9;
		case '0': return 0;
		default: return -1;

		}
	}
}


#include <iostream>
using std::cout;
using std::endl;
#include "HugeInteger.h"

int main()
{
	HugeInteger Num1;
	HugeInteger Num2;


	Num1.input();
	Num1.output();

	Num2.input(0);
	Num2.output();

	Num1.add(Num2);
	cout<<"Integer 1 after addition"<<Num1.output();
	Num1.subtract(Num2);
	cout<<"Integer 1 after subtraction"<<Num1.output();

	if (Num1.isEqualTo(Num2))		
		cout<<"Integer 1 is equal to integer 2"<<endl;

	if (Num1.isNotEqualTo(Num2)) 		
		cout<<"Integer 1 not equal to integer 2"<<endl;

	if (Num1.isLessThan(Num2)) 		
		cout<< "Integer 1 is less than integer 2"<< endl;


	if (Num1.isGreaterThanOrequalTo(Num2))		
		cout<<"Integer 1 is greater than or  equal to integer 2"<< endl;


	if (Num1.isLessThanOrEqualTo(Num2)) 		
		cout<<"Integer 1 is less than or  equal to integer 2"<<endl;
	if(Num1.isZero())
		cout<<"Integer 1 is zero"<<endl;


	return 0;





}

تم تعديل هذه المشاركة بواسطة الولهانة في 19 مارس 2007 في 22:36

#2

الحل هو ان تتعلمي syntax لغة الجافا !

#3

ولكن سمعت ان هناك برامج تحول ال codes من لغة ال c++ الى لغه الجافا والعكس

شكرا على الرد

#4

U can use C++ code in Java program or you can implement

See this:

http://www.pacifier.com/~mmead/cs510jip/jni/

winter-main.jpg

6179.gif

هذا الموضوع مغلق.

مواضيع مشابهة