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

Magic Box

مغلق
بدأه nanooooooosh في 18 مايو 2004 · 24 رد · 1,875 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هل يعلم احد عمل ال Magic Box

وهو عبارة عن 3*3

مربعات، حيث ان المجموع الأفقي والعمودي مجموعهم متساوي

حد عنده فكررة عن كيفية عمل هذا البرنامج بال تجربة العشوئية Randomize

#2

لقد قمت بعمل برنامج مشابه بلغة الباسكال او السي سابحث لك عنه او ساقوم بعمل برنامج اخر

طبعا كل ما عليك فعله هو اخذ الارقام 1..9 بالترتيب ثم ضعها في مصفوفة بشكل عشوائي لكن قبل ان تضعه قم بفحص الموقع اذا كان يساوي ا لصفر او قم بعمل عشواية للحصول على موقع اخر

ثم تأتي دالة الفحص للاعمدة والصفوف اذا كان كل الاعمدة يساوي 15 تكون قد وصلت للحل

#3

انا بعرف الي قلتلي عليه، بس كييف اطبقه؟؟؟؟؟؟؟؟؟؟

#4

انا لا اشك بقدرتك كمبرمج في حل هذه المشكله السهله

يمكنك اتباع الخطوات السابقة للحل واستخدام احدى لغات البرمجة مثل السي او البيسك

وإذا وجدت اي صعوبة او مشكلة اسأل وسوف تجد الجواب بإذن الله

إن شاء الله ساقوم بانزال الحل بعد اسبوعين من الان بلغة السي لكي يستفيد منها الجميع

سأكون عند وعدي ان شاء الله

#5

هذا البرنامج فكرته ليست صعبة

وحلّه يعتمد على فكرة الحلقات المتداخلة أو الاستدعاء الذاتي للإجراءات التعاودية

وإذا أردتم أقوم بكتابته وأرفقه لكم

تم تعديل هذه المشاركة بواسطة مهند عبادي في 20 مايو 2004 في 01:33

#6

اه، انا بدي اياه للفيجوال بيسك!! ممكن

#8

غير قابل للتحميل!!! ممكن ترسله لايميلي؟

#9

:) شكرا زبط

بس بدي طلب اخير وهو انه يحسب المجموع ( يعني يعطي نتيجة الجمع)

بدون اوقت!!

#11

مشكور اخي مهند

فكرة الكود حلوة جدا الاستدعاء الذاتي

وان شاء الله ساقوم بعمل طريقة اخرى لهذة المشكلة

#12

زي ما بدك :)

شكرا

#13

اهلا اخي nanooooooosh

هذة هي الطريقة التانية اتمنى ان تعجبك تقوم بتعبة المصفوفة بشكل عشوائي

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

واتمنى لك التوفيق..

  Dim Arr(1 To 10) As Integer
  Dim B As Boolean
  Dim i, j As Integer
  
  For i = 1 To 10
    Arr(i) = 0
  Next i
  
  For i = 1 To 10
    B = True
    While B
    j = Rnd() * 9 + 1
    If Arr(j) = 0 Then
      Arr(j) = i
      B = False
    End If
    Wend
  Next i
#14

شكرا كتيييييييييير يا j programmer

:)

عملت ال فورم وكل شي

ودخلت الكود

بس ما صار شي !!!

#15

لماذا تتوقع مني حل المسألة ؟

انا فقط ساساعدك في حلها ...

والكود الذي وضعته هو حل المشكلة التي واجهتك

اما للوصول الى البرنامج الذي تريده فقم باستخدام هذة الفكرة

لم يبق عليك سوى بعض البرمجة الروتينية للوصول للحل

شرح هذا الكود انه يقوم بوضع القيم من 1 ... 10 في المصفوفة بشكل عشوائي

لم يبق عليك الا دالة الفحص

#16

توقعت لانه هيك اامنتدى شغال

وعلى كل نحنا اسفين

وما راح اتوقع شي تاني مرة بهالمنتدى!!!

والكود مو زي ما بدي!!!

#18

شكرا يا مهند لاهتمامك

كلك ذوق والله

وما قصرت

#19

يمكنك الاستفادة من هذا المثال

Magic.zip

#20

شكرا الك يا J PROGRAMMER

#21

السلام عليكم شباب

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

اولا انشئ 9 texts و أعطها جميعا نفس الاسم و لنفرض أنه op ستصبح الtexts في مصفوفة op(0) _ op(8 ضعها مرتبة بحيث ان رقم صفر يكون اعلى اليسار و رقم 8 اسفل اليمين..

اضف زر للنموذج و اضف اليه الكود التالي:

من قال لا إله إلا الله صادقا دخل الجنة

موقعي للتعارف و تبادل الأخبار http://www.xybond.com

#22

l1:for i=1 to 9

l2:op(i).text=int(rnd*9) //to choose a random numberl

for j=0 to i-1

if op(i).text=op(j).text then goto l2

next

next

rem the 9 texts will have different numbers

for i=0 to 6 step 3

if not val(op(i).text)+val(op(i+1).text)+val(op(i+2).text)=15 goto l1

next

rem that was to check horisontal lines

for i=0 to 3

if not val(op(i).text)+val(op(i+3).text)+val(op(i+6).text)=15 goto l1

next

rem that was to check vertical lines

من قال لا إله إلا الله صادقا دخل الجنة

موقعي للتعارف و تبادل الأخبار http://www.xybond.com

#23

في غلط بالكود هشام، ما اشتغل معي صح!!

#24

السلام عليكم

l1:for i=0 to 8

op(i).text=int(rnd*9) ' to choose a random numberl

for j=0 to i-1

if op(i).text=op(j).text then goto l1

next

next

rem the 9 texts will have different numbers

for i=0 to 6 step 3

if not val(op(i).text)+val(op(i+1).text)+val(op(i+2).text)=15 goto l1

next

rem that was to check horisontal lines

for i=0 to 3

if not val(op(i).text)+val(op(i+3).text)+val(op(i+6).text)=15 goto l1

next

rem that was to check vertical lines

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

من قال لا إله إلا الله صادقا دخل الجنة

موقعي للتعارف و تبادل الأخبار http://www.xybond.com

#25

ما اشتغل صح!!!

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

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