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

تحدي >>من يكتب افضل طريقة حل للبرنامج؟

مغلق
بدأه abo mohammed في 7 أبريل 2004 · 35 رد · 3,144 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم:

في البداية اشكركم على الجهود المبذولة في هذا المنتدى .

سوالي هو:

اكتب برنامج بلغة فيجول ++c يقوم هذا البرنامج بكتابة العدد حرفيا من 0 الى 1000 فمثلا اذا ادخلنا الرقم 1 يكتب مباشرة one وايضا مثلا لو ادخلنا 100 يكتب one handred

وارجو ان يكون الحل بطرق مختلفة .

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

....................................................................ولكم جزيل الشكر،،،،،،،،،،

#2

السلام عليكم ,,

هل حاولت حل البرنامج بمفردك ؟

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

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#3

اسهل واسرع طريقة لحل هكذا برامج هي استخدام lookup table وانا مستعدة تقديم

الـ code اذا اردتم ذلك ........

شكرا

New_Text_Document.txt

#4

السلام عليكم

انا نداء , ارغب في تعلم برمجة الالعاب Game Programming

واريد ممن لديه خبرة في هذا المجال توجيهي التوجيه الصحيح

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

ولكم جزيل الشكر والتقدير

new.txt

#5

السلام عليكم ,,

تابعي الرد حول برمجة الألعاب في اللنك التالي ,,

/index.php?showtopic=39643

تم تعديل هذه المشاركة بواسطة HGB في 8 أبريل 2004 في 02:14

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#6

السلام عليكم

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

فانا لدي بعض الاصدقاء بأمكاني سوالهم وعرض الحل عليهم لكني حريص على المشاركة ولكي تعم الفائدة على الجميع.

تنويه:

اذا رغببتم في كتابة المحاولة التي قمت بها فلامانع لدي وكذلك اذا اردتم مني البحث عن الحل الصحيح فلامانع وبأكثر من طريقة.

............................................................والله يحفظكم ويرعاكم،،،،،،،،،،،،،،

#7

السلام عليكم ,,

في هذه الحالة ياريت تطلعنا على ماتوصلت اليه عسى أن نستفيد وتفيد بقية الأعضاء ,,

ومشكورين :)

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#8

السلام عليكم

اخي العزيز شكرا لك

فقط المطلوب منك وجمبع الاخوان ان تعطوني بعض الوقت وخلال ايام إن شاء الله ستجد الحل النموذجي إن شاء الله فانا والله مشغول بعض الشي هذا الاسبوع لكن سأحاول كتابة الحل في اقرب فرصة ممكنة .

اكرر شكري لكم.............................................................................

#9

السلام عليكم ,,

بالتوفيق أخي abo mohammed ونحن في الانتظار ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#10

السلام عليكم

انا لست مبرمج سي ولكن الحل بسيط جداً.

اولا عليك بتعين الثوابت التالية :

const 
One :"One";
Two :"Two";
.
.
Twenty:"Twenty";
Thirty: "Thirty";
.
.
Hundred :"Hundred";
Thousand :"Thousand";
.
.




case (1)
cout >> One
.
.
case (102)
cout >> Hundred + " AND " + Two
.
.

والسلام

تم تعديل هذه المشاركة بواسطة احمد غريب في 10 أبريل 2004 في 21:57

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#11

السلام عليكم

شكرا اخي احمد على المشاركة

لكن الطريقة المستخدمة طريقة طويلة جدا مع 1000 عدد فمابالك لوكانت اكثر من ذلك.

اكرر شكري لك ولمحاولتك .

..................انتظر الطريقة الاولى غدا ان شاء الله.........................

،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،والله يحفظكم ويرعاكم.......................

تم تعديل هذه المشاركة بواسطة سحاب في 11 أبريل 2004 في 02:32

#12

اخي لقد غيرت في ردك

من إن شاء الله الى ان شاء الله

لانه إن شاء الله لا تليق

لكم مني خالص التقدير

*********************

دروس الاكسس

قاعدة بيانات بالسي++

قاعدة بيانات اخرى بالسي++

الفريق العربي للبرمجه

*********************

كان الله في عون العبد مادام العبد في عون اخيه

#13

السلام عليكم

معك حق اخى ابو محمد عندما فكرت فى الحل الذى اقترحته وجدته فى منتهى الغباء معذره اخى و اليك حل افضل ان شاء الله:

1. اقسم العدد بإستخدام mod على 10 وبذلك تحصل على الارقام فى خانة الاحاد إحفظ الرقم في variable x1

2. اقسم العدد بإستخدام mod على 100و إطرح منه x1 وبذلك تحصل على الارقام فى خانة العشرات إحفظ الرقم في variable x2

3. اقسم العدد بإستخدام mod على 1000و إطرح منه x1 و x2 وبذلك تحصل على الارقام فى خانة المئات إحفظ الرقم في variable x3

إذا كانت x3=0 و x2<2 فلديك الارقام من 0الى 19

إذا كانت x3=0 و x2>2 فلديك الارقام من10 الى 99

إذا كانت x3!=0 فلديك الارقام من 100الى 999

و رقم 1000 حاله خاصه

if(x3=0&&x2<2)
.
.
elseif(x3=0&&x2>1)
.
.
elseif(x3!=0)
.
.
else
.
.
}

إن شاء الله هذى الحل افضل بكثير

انا جربت البرنامج بلغة الاسمبلى و النتيجه جيده, لو اردت توضيح اكثر انا فى الخدمه

ال if block اقل من 30 سطر

تحياتى

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#14

الاستاذ ابو محمد المحترم

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

وهو حل سهل وبسيط لكتابة الاقام حرفيا

وهو يعالج ثلاث مراتب من 1 الى 999 ويمكن ان اجعله برنامج عام

ويعالج كل المراتب ونوهت عن هذا الشيء من خلال ملاحظة داخل البلرنامج

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

نــــــــــــداء

WriteNumber.zip

#15

الى الاستاذ ابو محمد

البرنامج المرفق يكتب جميع الاعداد حرفيا

وكتبته بلغة فيجوال سي ++

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

مع فائق تقديري

نـــــــــــداء

GeneralWrite.zip

#16

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

شكرا جزيلا لك نــــــــــــــــــــــــــــــــدا على المشاركة .

وانا وعدت ان انزل الحل خلال هذا الاسبوع واليكم الطريقة الاولى (هذه الطريقة هي الطريقة التي كتبت انا بها البرنامج)..........................................

#include<iostream.h>
void main()
{
	int m,a,b,c,d,e,f;
	cout<<"Enter the number\n";
	cin>>m;
	a=m/1000;
	b=m%1000;
	switch(a)
	{
	case 1:
	cout<<"one thuosand  ";
	}
	c=b/100;
	d=b%100;
	switch©
	{
	case 9:
	cout<<"nine hundred ";
	break;
	case 8:
	cout<<"eight hundred ";
	break;
	case 7:
	cout<<"seven hundred ";
	break;
	case 6:
	cout<<"six hundred ";
	break;
	case 5:
	cout<<"fife hundred ";
	break;
	case 4:
	cout<<"fuor hundred ";
	break;
	case 3:
	cout<<"three hundred ";
	break;
	case 2:
  cout<<"two hundred ";
	break;
	case 1:
  cout<<"one hundred";
	break;
    case 0:	
	cout<<".";
	}
	e=d/10;
	f=d%10;
	switch(e)
	{
	case 9:
	cout<<"ninty ";
	break;
	case 8:
  cout<<"eighty ";
  break;
	case 7:
  cout<<"seventy  ";
    break;
	case 6:
  cout<<"sixty  ";
    break;
	case 5:
  cout<<"fifty  ";
    break;
	case 4:
  cout<<"fuorty  ";
	break;
	case 3:
  cout<<"therty  ";
	break;
	case 2:
  cout<<"twenty  ";
	}
  if(e==1||e==0)
 	 f=d;

  switch(f)

	{
  
	case 19:
  cout<<"ninteen\n  ";
  break;
	case 18:
  cout<<"eighteen\n  ";
  break;
	case 17:
  cout<<"seventeen\n  ";
  break;
	case 16:
  cout<<"sixteen\n  ";
  break;
	case 15:
  cout<<"fifteen\n  ";
  break;
	case 14:
  cout<<"fuorteen\n  ";
  break;
	case 13:
  cout<<"therteen\n  ";
  break;
	case 12:
  cout<<"twelf\n  ";
  break;
	case 11:
  cout<<"eleven\n";
  break;
	case 10:
        cout<<"ten\n  ";
        break;
	case 9:
  cout<<"nine\n  ";
  break;
	case 8:
  cout<<"eight\n  ";
  break;
	case 7:
  cout<<"seven\n  ";
  break;
	case 6:
  cout<<"six\n  ";
  break;
	case 5:
  cout<<"fife\n  ";
  break;
	case 4:
  cout<<"fuor\n  ";
  break;
	case 3:
  cout<<"three\n  ";
  break;
	case 2:
  cout<<"two\n  ";
  break;
	case 1:
  cout<<"one\n  ";
  break;
	case 0:
  cout<<"  \n";
  }

نــــــــــــــــــــــداء تلاحظ البرنامج كيف ملخبط كذا فوق فكيف اقد انسخه وانزله مرتب .

،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،،والله يحفظكم ويرعاكم...................

تم تعديل هذه المشاركة بواسطة HGB في 15 أبريل 2004 في 13:56

#17

السلام عليكم

لكتابة ال code بطريقه صحيحه ضع ضع قوسين مربعين [ ] هاكذا واكتب بداخلهم كلمة code فى البداته ثم عند الإنتهاء من كتابة ال code ضع قوسين مربعين مرة اخرى و اكتب بداخلهم /code عند ذالك يظهر البرنامج بطريقه منظمه.

والسلام

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#18

السلام عليكم ,,

قمت بتحرير مشاركتك وتنسيق الكود أخي abo mohammed ,, وبارك الله فيك ومشكورين على هذا المجهود ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#19

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

شكرا لاخ HGB على جهوده المبذولة .

اخي HGB هل من الممكن ان اكتب بعض البرامج المحلولة في ++C (انا اتعلم هذه اللغة الان لكن ارغب في تكوين صداقة مع اعضاء هذا الفريق حتى يستفيد كل واحد منا من الاخر)

..........................................................والله يحفظكم ويرعاكم،،،،،،،،،،،،،

#20

السلام عليكم ,,

بالطبع يمكن ,, كل أمر تحس أن فيه فائدة للجميع اطرحه وستجد كل المساعدة والدعم ,, واذا كان متميزا سنقوم بتثبيته ليطلع عليه أكبر عدد من الزوار ,,

وبارك الله فيك ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#21

ابو محمد ما شاء الله عليك

ومشكور على هذا الجهد

لكم مني خالص التقدير

*********************

دروس الاكسس

قاعدة بيانات بالسي++

قاعدة بيانات اخرى بالسي++

الفريق العربي للبرمجه

*********************

كان الله في عون العبد مادام العبد في عون اخيه

#22

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

الف شكر للأخ HGB وجميع الاخوة الكرام .

الحمد لله فقد اعطيت الضوء الاخضر لكتابة برامج ++C .

دعوة الى جميع الاخوان في الفريق.

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

رأي شخصي:

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

ارجو من اي عضو لديه القدرة على المشاركة الا يبخل علينا بالمشاركة.

....................................................والله يحفظكم ويرعاكم،،،،،،،،،،،،،،،،،،،،،،

تم تعديل هذه المشاركة بواسطة abo mohammed في 15 أبريل 2004 في 22:25

#23

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

الطريقة الثانية لحل البرنامج السابق.

 #include<iostream.h>
void main()
{
	int a,b,c,d,e,f,n;

	cout<<"enter an integer less than 1000:";
	cin>>n;
	a=n/1000;
	b=n%1000;
	if(a==1)
	{
	cout<<"one thuosand  ";
	}
	else
	{
	cout<<".";
	}
	c=b/100;
	d=b%100;
	if(c==9)
	{
	cout<<"nine hundred  ";
	}
	if(c==8)
	{
	cout<<"eight hundred ";
	}
	if(c==7)
	{
	cout<<"seven hundred  ";
	}
	if(c==6)
	{
	cout<<"six hundred  ";
	}
	if(c==5)
	{
	cout<<"fife hundred  ";
	}
	if(c==4)
	{
	cout<<"fuor hundred  ";
	}
	if(c==3)
	{
	cout<<"three hundred  ";
	}
	if(c==2)
	{
  cout<<"two hundred  ";
	}
	if(c==1)
	{
  cout<<"one hundred  ";
	}
	if(c==0)
	{
	cout<<".";
	}
	e=d/10;
	f=d%10;
	if(e==9)
	cout<<"ninty ";
	if(e==8)
  cout<<"eighty ";
	if(e==7)
  cout<<"seventy  ";
	if(e==6)
  cout<<"sixty  ";
	if(e==5)
  cout<<"fifty  ";
	if(e==4)
  cout<<"fuorty  ";
	if(e==3)
  cout<<"therty  ";
	if(e==2)
  cout<<"twenty  ";
	if(e==1||e==0)
	{
  f=d;
  
	}
	if(f==19)
  cout<<"ninteen\n  ";
	if(f==18)
  cout<<"eighteen\n  ";
	if(f==17)
  cout<<"seventeen\n  ";
	if(f==16)
  cout<<"sixteen\n  ";
	if(f==15)
  cout<<"fifteen\n  ";
	if(f==14)
  cout<<"fuorteen\n  ";
	if(f==13)
  cout<<"therteen\n  ";
	if(f==12)
  cout<<"twelf\n  ";
	if(f==11)
  cout<<"eleven\n  ";
	if(f==10)
  cout<<"ten\n  ";
	if(f==9)
  cout<<"nine\n  ";
	if(f==8)
  cout<<"eight\n  ";
	if(f==7)
  cout<<"seven\n  ";
	if(f==6)
  cout<<"six\n  ";
	if(f==5)
  cout<<"fife\n  ";
	if(f==4)
  cout<<"fuor\n  ";
	if(f==3)
  cout<<"three\n  ";
	if(f==2)
  cout<<"two\n  ";
	if(f==1)
  cout<<"one\n  ";
	if(f==0)
  cout<<".\n";

}

الله يعينك ياHGB اذا طلع الحل ملخبط سويه وقلي الطريقة .

تم تعديل هذه المشاركة بواسطة HGB في 16 أبريل 2004 في 02:33

#24

السلام عليكم ,,

يا abo mohammed ولايهمك :) ,, فقط لتكوين واصفات الكود بشكل صحيح ,, أنت عكست ال الجزء الثاني الى

[code/] بدلا من

فقط ,,

لكن من الأفضل أن تستعمل اضافة رد وليس اضافة رد سريع ,, ويمكن عندها تظليل الكود والضغط على واصفة الكود في الأعلى وبكل سهولة وسيتم توضيع الواصفات في أماكنها الصحيحة :)

وبارك الله فيك على مجهودك ,,

وبالمناسبة قريبا جدا سيتم الانتهاء من تكوين مكتبة الأكواد ,, وعندها نحتاج الى أغلب الأكواد المفيدة لتتم اضافتها للمكتبة ,, بالطبع مع حفظ حقوق الملكية ,, لكن بكونها مفتوحة المصدر ,,

وفقك الله ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#25

بارك الله فيكم

وماشاء الله عليك اخي ابو محمد

لكم مني خالص التقدير

*********************

دروس الاكسس

قاعدة بيانات بالسي++

قاعدة بيانات اخرى بالسي++

الفريق العربي للبرمجه

*********************

كان الله في عون العبد مادام العبد في عون اخيه

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

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