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

أسئلة لأهل الخبرة!!!!!iiii

مغلق
بدأه زائر في 13 أكتوبر 2001 · 21 رد · 8,632 مشاهدة · في قسم المواضيع الهامة في قسم السي /سي++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عندي مجموعة من الاسئلة اتمنى ان اعرف جوابها(شىء طبيعي)....

1) عند بدء تشغيل ويندوز تظهر تلك الشاشة المعروفة (ويندوز 98 على الاخص) و من المعروف انني استطيع تغيير تلك الصورة بخفظ صورة باسم logo.sysفي القرص الرئيسي.......

ولكن........................................

كيف يستدعي ويندوز تلك الصورة التي تظهر .....

و نلاحظ وجود شريط (progrees bar) في اسفل الصورة كيف يمكن عمل مثل هذا الشريط..................

2) افكر في عمل برنامج يقوم بتنفيذ عملية الضرب لاعداد طويلة (50 رقم على سبيل المثال) و كانت الفكرة هي باستخدام المصفوفات...

يدخل المستخدم الرقمين على شكل مصفوفتين حرفيتين ثم تحول الى اعداد و تجرى عليها عملية الضرب كما نجريها يدويا(الفكرة قديمة من ايام QBasic) و لكن هناك مشكلة....

كيف احول من char[]الىint[] او بمعنى اخر كيف احول char*الى int*.....

و هل هناك طريقة افضل في لغةالسي لعمل مثل هذا البرنامج..

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

أخوكم في العقيدة

محمد

#2

جواب السؤال الثاني : انا لست متاكد من حلي ولكن جربه

الدالة atof تتكفل بتحويل متغير حرفي الى رقمي . مثال :

; ( double num1 = atof(strnum1

مع ملاحظة ان هذا في السي ++ . ما ادري يمكن يكون نفس الشيء في السي

هذا والله اعلم .

#3

السلام عليكم.

كلام الأخ عبد الرحمن صحيح فالدالة atof تقوم بتحويل القيمة الموجودة ضمن متحول حرفي إلى قيمة عددية ذات فاصلة و لكن في حالة الأخ محمد فهو يحتاج إلى دالة تقوم بتحويل القيمة الموجودة ضمن متحول حرفي إلى قيمة عددية صحيحة و يتم ذلك باستخدام الدالة itoa .

مع التحيات.

#4

كانت المشكلة في atof أو atoi تظهر كما في المثال التالي :

char str[2];
int num;
cin>>str;
num=atoi(str[1]);

حيث تظهر رسالة الخطأ التالية...

eror: cannot convert form char to const char*

قمت بعمل اجراء بسيط حل المشكلة ولا أدري كيف

char p;
str = &p;

ما الذي حصل ....

انا لم استخدم المتغير p في عملية التحويل....

ما الذي جرى....

الرجاء التوضيح.....

ولمن لديه معلومات عن السؤال الاول الرجاء التوضيح....

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

أخوكم في العقيدة

محمد

#5

nobody can answer me????

for the first question : i read an article on pc magazine...

but the idea is not complete

and I also cannot write on arabic....

i will write it soon

#6

السلام عليكم ...

إن atoi تستقبل مؤشر إلى محرف أو سلسلة يعني يجب تمرير str وليس str[1] .. وبالتالي يصبح الكود كما يلي :

char str[2];
int num;
cin >> str;
num = atoi(str);

بالنسبة لبرنامج الضرب الذي أنت بصدده فالموضوع رائع جدا وقد قرئت مقالة أجنبية في مجلة C++ Users Journal عن هذا الموضوع ولكنه كان جدا معقد لأن المقالة أخذت بعين الاعتبار الأرقام الضخمة جدا .. تصور أنك على سبيل المثال تريد ضرب 10000 رقم مع 10000 رقم فأنت تحتاج إلى 10000 * 10000 أو 100 مليون عملية ضرب للأرقام المفردة . فكاتب المقالة مطور خوارزمية سريعة تحتاج فقط إلى N^1.585 أي 2.188 مليون عملية ضرب لحالة N = 10000 . وأيضا هناك خوارزمية أسرع . طبعا البرنامج النهائي يعتمد على الثلاث خوارزميات بنفس الوقت ويقوم باختيار الخوارزمية المثلى بطريقة ذكية .. وفي النهاية أعطاك الكاتب جدول يبين فرق السرعة بين الخوارزميات الثلاث في حالة ضرب عددين مكونين من 1000000 رقم :

N^2 : أخذت 23.9 يوم

خوارزميته : أخذت ساعة و 50 دقيقة

أسرع خوارزمية : أخذت 40 ثانية .....

الحزمة التي قام ببرمجتها كاتب المقالة هي في السي++ .. حيث قام ببناء class يقوم بجميع الوظائف وسوف أعطيك برنامج بسيط يبين كيفية يمكن استخدام مكتبته :

MAPM w, x, y, z;

x = 9.123456332;
y = -21;
z = "-8.764376483643864284637642338427846374682424e-17";

w = 83.1 + sin(z / "21.1") * x / y;

w.toString(outbuf, 50);  printf("w = [%s] n", outbuf);

طبعا هذا فقط كود يبين لك كيفية سهولة التعامل مع كود الضرب والجمع الذي سوف تبنيه للأرقام الضخمة ولاحظ في النهاية كيف يقوم التابع toString بتحويل الرقم إلى سلسلة ومن ثم يتم طباعة الرقم ...

إذا أردت أي مساعدة أو شرح أكثر عن الخوارزميات فأنا جاهز .. حتى إذا أحببت نكتب الكود سوية فأنا جاهز :)

Coding on the Cloud and for the Cloud!

My Blog

#7

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

أولا أشكرك على التفاعل الذي لم أتوقعه مع هذا الموضوع....

المسألة كانت تحدي أعطانا اياه مدرس مادة الرياضيات في الجامعة

كان غرضه هو تعليمنا استخدام برنامج math cad الذي يقوم بتنفيذ هذه العملية

كان قد اعطانا ثلاثة ارقام طول الواحد منها حوالي 30 رقم...

فكرت في الامر و قررت التحدي بشكل آخر تصميم برنامج بالQBasicيقوم بتنفيذ عملية الضرب (كنت ما زلت استخدمه حينهاحيث كنت متعصبا له مع معرفتي الجيدة بلغة الc++....)

كانت فكرتي هي جعل الحاسوب يقوم بالعملية كما نقوم بها يدويا..

مثلا عندما تضرب 12 في 12 تضرب 2*12 ثم 10 في 12 و تجمع الناتج..

لم أنجح في ذلك باستخدام لغة qbasic فلم اكن اعرف استخدام المصفوفات (matrix) ثنائية البعد.....

و لكننب نجحت في عمل هذا البرنامج باستخدام c++...

حيث تدخل له عددين طولهما بحد أقصى 50(رقم افترضته من عندي لا أكثر)

و يظهر لك الناتج بلا تقريب....

ثم عملت منه نسخة مطورة (بحد أقصى 20 رقم !!!!) و ذلك لتظهر النتيجة في صف واحد يظهر الخطوات...بمعنى اذا ادخلت 12 *12

يظهر كالتالي..

12

12

____

024

120

____

144

لم يكن في بالي ان ازيد عن هذا الحد...

ولكن.....

اذا كانت هناك فكرة ...

تعقبها همة....

يتبعها عمل...

فان هناك انتاج....

فكرة التوسع في تلك المسألة لتشمل ارقاما أكبر فكرة ممتازة...

و انا ان شاء الله لدي الهمة لتحقيقها...

فعلى بركة الله....

ارجو تزويدي بمعلومات اكثرعن هذا الموضوع...

و حبذا ان نبدأ قريبا....

و الرجاء التوضيح اكثر عن الحزمة التي كتبها المبرمج ...

هل يمكنني الحصول عليها و الاطلاع على الشفرة المصدرية (source code) الخاصة بها....

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

أخوكم في العقيدة..

محمد

#8

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

أخي محمد

سبحان الله!

وأنت على الرغم من إنك تركتنا منذ فترة طويلة إلا إنك مازلت معنا بقلبك . فمنذ حوالى أسبوعين كنا نتناقش حول huge Integer class وما حلها الأمثل

ولكننا تركنا الموضوع بلا سبب ؟

على العموم لو كان لديك كتاب object oreinted programming in C++ for Waite Group فانه بالفصل 13 يشرح الclass وفيها الجمع والضرب

لعله يكون لديك لأنه أفضل كتاب فى OOP رأيته

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

#9

أسعدك الله كما أسعدتني...

؟؟؟؟؟

:):):):):):):)

#10

انتهيت تقريبا من كتابة البرنامج...

فهو الان يستطيع ضرب 255 رقم في 255 رقم ليظهر النتيجة (512رقم)

مع مرونة اكثر...

فاذا كان مجموع الرقمين اقل من او يساوي 40 تظهر الخطوات و الا يظهر الناتج مباشرة...

ان شاء الله اضع البرنامج و الكود في اقرب فرصة....

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

أخوكم في العقيدة.....

محمد

#11

يمنك الان تحميل البرنامج مع الكود المصدري الخاص به من العنوان التالي

http://www.d1d.net/1/okaz/a.txt

ملاحظة...

قم بتحويل الامتداد الى zipقبل فتح الملف..

كما انشره هنا للنقد المباشر..

ملاحظة : ان لم تفهم الكود فلا تقلق..

فطبيعتي معقدة نوعا ما..

#include
#include
#include
#include
#include
#define a 300
#define b 2*a
void line(int len1,int len2) // draw lines
{	int l=len1+len2;
	if(l>80)l=80;
	for (int i =0;i 	{
		printf("_");
		if(len1+len2<=40)printf("_");
	}
	printf("n");
}

void multiply(char num1[],char num2[],int x[],int y[],int xy[][ b ],int result[])
{
	char *ptr,r;
	int len1,len2,o1=0,o2=0,p1=0,p2=0;
	ptr=&r;



	len1 =strlen(num1);//getting the length of the first number
	len2 =strlen(num2);//getting the length of the second number
//	printf("len1 %d n len2 %d n" , len1,len2);//test len1 len2
	for (int i =0; i 	{							
		*ptr=num1[ i ];			//getting values of every integer in the 
		y[len1-( i +1)]=atoi(ptr);//first number and assigning them to y[ i ](reversly)
	}							
	for ( i =0; i 	{								
		*ptr=num2[ i ];			//getting values of every integer in the 	
		x[len2-(i+1)]=atoi(ptr);//second number and assigning them to x[ i ](reversly)
	}							

	for (i=0;i	{	
		o1=0,o2=0;					//initializing o1,o2 for every loop
		for (int j=0;j<=len1;j++)	//loop of columns
		{	
			o1=x[ i ]*y[ j ];		
			xy[ i ][j+i]=(o1+o2)%10;
			o2=(o1+o2)/10;
		}
	}

	if(len1+len2<=40)
	{	
		line(len1,len2);
		for (i=0;i		{										
			for (int j=len1+len2-1;j>=0;j--)//print the multiplying process
			printf("%d ",xy[ i ][j]);			
			printf("n");					
		}
	}
	for (i=0;i	{								
		p1=0;
		int t=0;					//to neglect the unused zeros	
		if (i>len1)t=i-len1;
		int r=t+i;
		if (r>len2)r=len2;
		for (int j=t;j<=r;j++)			
	{								//claculating the result
	p1+=xy[j][ i ];					
	}								
	result[ i ]=(p1+p2)%10;			
	p2=(p1+p2)/10;					
	}								
	line(len1,len2);
	for (i=(len1+len2-1);i>=0;i--)	
	{
		printf ("%d",result [ i ]);
		if (len1+len2<=40)printf(" ");//printing result
	}
}

void main()
{	char num1[a],num2[a];
	int x[ b ],y[ b ],xy[a][ b ],result[ b ];
		for (int i=0;i	{                           
		for (int j=0;j		xy[ i ][j]=0;       
	}                     
	for (i=0;i		result[ i ]=0;      
	for (i=0;i	{					  //initializing x[ i ],y[ i ]
		y[ i ]=0;			  		
		x[ i ]=0;			  	
	}
	printf("  ");     //printing the two spaces in the beggining;
	cin >>num1;		  //getting the first number as a chrachter array num[ i ]		
	printf("X ");	  //printing the multiplying sign
	cin >>num2;		  //getting the second number as a chrachter array num[ i ]

	multiply(num1,num2,x,y,xy,result);
	getch();
}

شيء آخر :

عندما يعمل البرنامج فلن يظهر شيء ...

(لم اكن مهتما باكثر من ان ينفذ العملية..)

ادخل الرقم الاول..

اضغط enter

ثم ادخل الرقم الثاني..

اضغط enter

و سترى النتيجة باذن الله..

#12

أخي محمد ،

أولا آسف على عدم ردي لرسالتك ولكني جدا مشغول في هذه الايام ..

بعد نظرو سريعة على البرنامج وجدته أنك معقد الأمور شوي .. حاول استخدام ذاكرة ديناميكية باستخدام new و delete وبالتالي يمكنك القيام بهذه العملية مع الحجم الذي تريد من الأعدام طالما توجد ذاكرة كافية لذلك ..

أيضا حاول استخدام ال classes في برنامجك مما يجعل العمل والبرمجة أسهل ..

بس أفضى سوف أذكر لك طريقة أسرع كما وعدتك ..

سلام

Coding on the Cloud and for the Cloud!

My Blog

#13

السلام عليكم ..

أخي محمد سوف أكتب لك هنا طريقة الضرب السريع للأرقام الضخمة :

افترض عندنا رقمين a و b كل رقم يحتوي على 2N خانة ثنائية فإنه يمكن كتابة الرقم الأول على الصورة :

a = (2^N)*A1+A0

والرقم الثاني :

b = (2^N)*B1+B0

حيث A1 تمثل النصف العلوي للرقم a و A0 تمثل النصف السفلي للرقم a . كذلك نفس الأمر بالنسبة ل B1 و B0 ..

الآن باستخدام هذه المساواة:

ab = (2^(2N) + 2^N)*A1*B1 + 2^N*(A1-A0)(B0-B1) + (2^N+1)*A0*B0

يمكنك تحوييل عملية الضرب على عددين ب 2N خانة إلى ثلاث عمليات ضرب على أعداد ذات N خانة بالإضافة إلى عمليات جمع وطرح وازاحة .

هذه العملية يمكن أن يتم تطبيقها بشمل تعاودي ويبلغ تعقيدها O(N^1.585)

وبالتالي ضرب رقمين ذات 10000 خانة سوف تحتاج إلى 2.188 مليون عملية ضرب. طبعا هذا الرقم يعتبر فرق كبير من الخوارزمية العادية التي تحتاج 100 مليون عملية ضرب .

Coding on the Cloud and for the Cloud!

My Blog

#14

بعد عدة محاولات لم استطع كتابة اي موضوع باسم dr.okaz..

ولهذا تم الانتقال الى هذا الاسم الجديد ..

the new version..dr.okaz2

انا اعمل حاليا على كتابة البرنامج الذي صممته على هيئة class..مع اضافة عملية الرفع الى اس..

شكرا للمشرف هاني الاتاسي على تفاعله معي..

الطريقة التي ذكرتها تبدو جميلة ولكن كيف يمكن تطبيقها..

تكمن المشاكل التي اواجهها عند كتابة برنامج يدخل سلسلة طويلة من الاعدادفي ما يلي..

1) لا استطيع ادخال اكثر من 255 محرف قبل ضغط enter وذلك في consloe mode..

2) تنفيذ عملية الضرب العادية لا تظهر نتائج صحيحة بل مقربة..

3)اذا حددت مصفوفة طولها اكثر من600 تحدث مشاكل..

فما الحل..

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

اخوكم في العقيدة..

محمد

#15

هذا اخر ما قمت به من تعديل...

ربما لايكون واضحا..

و الامر اختبار فمن فهم شيئا يخبرني...

على العموم ابدأ من main وهتفهم كل حاجة..

#include
#include
#include
#include
#include
class CMath
{	
	int *x,*y;
	int *xy;
	void initialize(int len1,int len2,int xy[],int x[],int y[])
	{
		for(int i=0;i<(len1+len2)*len2;i++)
			xy=0;
		for (i=0;i		{			  
			y=0;			  		
			x=0;			  	
		}
	}

public:
	int len1,len2,*result;
	char *strResult;
	void multiply(char s[],char w[])
	{	 
		char ptr;
		int o1=0,o2=0,p1=0,p2=0;
		len1=strlen(s);
		len2=strlen(w);
		y=new int[len1+len2];
		x=new int[len2+len1];
		xy=new int[(len2+len1)*len2];
		result=new int[len1+len2];
		strResult=new char[len1+len2];
		initialize(len1,len2,xy,x,y);
		for (int i=0;i		{							
			ptr=s;			
			y[len1-(i+1)]=atoi(&ptr);
		}
		for ( i=0;i		{								
			ptr=w;			
			x[len2-(i+1)]=atoi(&ptr);
		}
		for (i=0;i		{	
			o1=0,o2=0;				
			for (int j=0;j<=len1;j++)	
			{	
				o1=x*y[j];
				int r=(len1+len2)*i;
				xy[r+i+j]=(o1+o2)%10;
				o2=(o1+o2)/10;
			}
		}
		for (i=0;i		{								
			p1=0;
			int t=0;					
			if (i>len1)t=i-len1;
			int r=t+i;
			if (r>len2)r=len2;

			for (int j=0;j			{	
				int z=(len1+len2)*(j);
				p1+=xy[z+i];

			}								
			result[len1+len2-(i+1)]=(p1+p2)%10;			
			p2=(p1+p2)/10;
		}
		for(i=0;i			itoa(result,strResult+i,10);
		delete  x, y, xy, result;
	}

	void print()
	{
		for (int i=0;i		printf("%c",strResult);
			printf("n");
	}

	void power(char base[],int power)
	{	

		multiply(base,"1");
		for (int i=0;i			multiply(strResult,base);
	}
};


void main()
{	
	CMath ran;
	CMath ren;
	char s[]="123499999999999999999999999999
                              9999555555555555555555555555
                              5555555555555555555555555555
                              5555522222222222222222222222
                              2222222222222222222222222222
                              2222222222222222222222222222
                              222222222222222222222";
	char w[]="99999999";
	ran.multiply(s,w);
	ran.print();
	ren.multiply("9","9");
	ren.print();
	ran.multiply(ran.strResult,"2");
	ran.print();
	ran.power("9",123);
	ran.print();
	getch();
}

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

اخوك في العقيدة..

محمد

#16

أخي بالنسبة لاستفساراتك الأولى :

1) لا يهم أن المستخدم يمكن ادخال عدد محدد من المحارف . المهم أن الخوارزمية ضمنيا يمكن أن تحسب أعداد مهما كان طولها .. على فرض تريد حساب !100 ....

2) يجب لأن تكون عملية الضرب صحيحة 100 بالمية ؟؟؟

3) بالنسبة للذاكرة فالمفروض أن لا تحدث مشاكل أبدا مهما كا حجم الذاكرة .. يفضل أن تقوم بتجربة البرنامج تحت بيئة الوندوز Visual C++ .

بالنسبة للخوارزمية السريعة فهي سهل جدا تطبيقها أهم شئ هو أن يكون الكلاس تبعك يقبل الجمع والضرب على الأعداد الكبيرة ومن ثم يتم تطبيق التابع التعاودي تماما كما ذكرت لك ..

سوف ألقي نظرة على كودك الأسبوع القادم بس أخلص امتحانات ؟؟

Coding on the Cloud and for the Cloud!

My Blog

#17

خلاص طنشتوا الموضوع..

الاخ هاني الاتاسي..

ما زلت منتظرا ردك؟؟

#18

أهلا بعودتك ... لا أبدا مافي تطنيش ... بس أنت وين آخر ماتوصلت إليه بالبرنامج .. هل طبقت الأمور التي ذكرتها لك .. ؟

Coding on the Cloud and for the Cloud!

My Blog

#19

الاخ هاني الاتاسي..

احتاج لتوضيح اكثر لما ذكرته..

بلغة السي..

اقرا الكود الذي كتبته (ان كان عندك وقت)

فانا ما زلت على الطريقة القديمة..

وحتى الان فالبرنامج ينفذ عملية الضرب و الرفع الى اس..

وبدات اليوم فقط باضافة عملية الجمع..

ويتبقى عملية المضروب (factorial)

ولكن هل انا امشي في الطريق الصحيح..

إن شاء الله انشر اخر التعديلات غدا ...

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

اخوك ..

محمد

#20

ها هو آخر ما وصلت اليه..

وان كانت بعض المشاكل مازالت موجودة..

اصفار زائدة و ما الى ذلك..

//Cmath.h
//factorial,multiply,power,print,sum
#include
#include
#include
#include
#include
 class CMath
{	
	int *x,*y;
	int *xy;
	void initialize(int len_y,int len_x,int xy[],int x[],int y[])
	{
		for(int i=0;i<(len_y+len_x)*len_x;i++)
			xy=0;
		for (i=0;i		{			  
			y=0;			  		
			x=0;			  	
		}
	}

public:
	int len_y,len_x,*result;
	char *strResult;
	void multiply(char num_y[],char num_x[])
	{	 
		char ptr;
		int o1=0,o2=0,p1=0,p2=0;
		len_y=strlen(num_y);
		len_x=strlen(num_x);
		y=new int[len_y+len_x];
		x=new int[len_x+len_y];
		xy=new int[(len_x+len_y)*len_x];
		result=new int[len_y+len_x];
		strResult=new char[len_y+len_x];
		initialize(len_y,len_x,xy,x,y);
		for (int i=0;i		{							
			ptr=num_y;			
			y[len_y-(i+1)]=atoi(&ptr);
		}
		for ( i=0;i		{								
			ptr=num_x;			
			x[len_x-(i+1)]=atoi(&ptr);
		}
		for (i=0;i		{	
			o1=0,o2=0;				
			for (int j=0;j<=len_y;j++)	
			{	
				o1=x*y[j];
				int r=(len_y+len_x)*i;
				xy[r+i+j]=(o1+o2)%10;
				o2=(o1+o2)/10;
			}
		}
		for (i=0;i		{								
			p1=0;
			int t=0;					
			if (i>len_y)t=i-len_y;
			int r=t+i;
			if (r>len_x)r=len_x;

			for (int j=0;j			{	
				int z=(len_y+len_x)*(j);
				p1+=xy[z+i];

			}								
			result[len_y+len_x-(i+1)]=(p1+p2)%10;			
			p2=(p1+p2)/10;
		}
		for(i=0;i			itoa(result,strResult+i,10);
		delete  x, y, xy, result;
	}

	void print()
	{
		for (int i=0;i		printf("%c",strResult);
			printf("n");
	}

	void power(char base[],int power)
	{	

		if (power==0)multiply("1","1");
		else
		{
			multiply(base,"1");
			for (int i=0;i				multiply(strResult,base);
		}

	}
	void sum(char num_y[],char num_x[])
	{

		len_y=strlen(num_y);
		len_x=strlen(num_x);
		y=new int[len_y+len_x];
		x=new int[len_x+len_y];
		result=new int[len_y+len_x];
		strResult=new char[len_y+len_x];
		int p1=0,p2=0;
		char ptr;
			for (int i=0;i		{			  
			y=0;			  		
			x=0;			  	
		}
		for ( i=0;i		{							
			ptr=num_y;			
			y[len_y-(i+1)]=atoi(&ptr);
		}
		for ( i=0;i		{								
			ptr=num_x;			
			x[len_x-(i+1)]=atoi(&ptr);
		}
			for (i=0;i		{								
			p1=0;
			p1=x+y;			
			result=(p1+p2)%10;			
			p2=(p1+p2)/10;
		}
		for(i=0;i			itoa(result[len_x+len_y-i-1],strResult+i,10);
	}
	void factorial(char num[])
	{
		int val;
		char factor;
		val=atoi(num);
		multiply("1","1");
		for (int i=2;i<=val;i++)
		{
			itoa(i,&factor,10);
			multiply(strResult,&factor);
		}
	}

};



//zero error

لاستعماله اكتب برنامجا كالتالي

#include
#include"CMath.h"

void main()
{
	CMath obj1,obj2,obj3;
	obj1.sum("994521","99");
	obj2.multiply("91245454231","92354584786");
	obj3.power("9",100);
	obj1.print();
	obj2.print();
	obj3.print();
	obj1.multiply(obj2.strResult,obj1.strResult);
	obj1.print();
	obj1.factorial("100");
	obj1.print();
	getch();
}

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

محمد

#21

أجريت بعض التعديلات على البرنامج..

للأسف ليست معي الان..

ولكن هل انتم مهتمون حقيقة بالموضوع؟؟؟

#22

يا اخوة..

السلام عليكم..

بصراحة مليت من الموضوع..

الموضوع يهمكم ولا لا..

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

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