إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

مقارنة بين ListBox1 وListBox2

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • مقارنة بين ListBox1 وListBox2

    السلام عليكم
    بإفتراض أنه لدينا ListBox1 و ListBox2

    مكتوب في ListBox1 االأعداد : 1 , 2 , 453 , 678 , 9
    وفي ListBox2 الأعداد : 4, 2 , 453 , 178 , 90

    نريد أن تتم المقارنة لاستخراج أكبر عدد مشترك بين عناصر المجموعتين
    أي 453

    ما الكود الذي سيساعدني في إجراء هذه المقارنة

    سلام

  • #2
    سوف يتم تأجيل ردى قليلا لأعطى مساحة من التجاوب والتفاعل مع الموضوع وإظهار مدى فهم الحلقات التكرارية

    تعليق


    • #3
      شكرا الأخ عبود على المرور الطيب
      وفي محاولة منا لتجسيد الطلب ماذا لو أردنا حساب القاسم المشترك
      الأكبر لعددين بافتراض أنه ليست لدينا أكواد مباشرة و مطالبين بإعداد برمجة تتعلق بالأمر
      فكرت باستغلال العناصر المتاحة و ليكن ListBox
      سنختار ListBox1 ليستقبل قواسم العدد الأول الذي سنكتبه في
      الأنبوت 1 بديهيا أنه اذا تحقق باقي القسمة يساوي صفر فإن العدد
      إحدى قواسم ما كتب في الانبوت 1
      وبناء عليه هذا الكود قد يفي بالغرض
      كود:
      x= Input.GetText("Input1");
      for i =1,x do
      fract = Math.Mod(x,i);
      y=x/i
      if fract ==0 then
       ListBox.AddItem("ListBox1", y, "");
      end
      end
      بنفس الطريقة ندرج أنبوت 2 و ListBox2 حتى نستخلص قواسم العدد الثاني
      اذا هنا صار لدينا ListBox1 و ListBox2 فيهما أعداد مشتركة على الأقل رقم 1 كما طرح في السؤال اين هو القاسم المشترك الأكبر
      طبعا هو أكبر عدد مشترك في ListBox1 و ListBox2 هو القاسم المشترك الأكبر
      كيف ياترى سنحدد هذا العدد ؟

      أرجو أني وضحت وإن شاء الله أفدت و لو بالقليل

      تعليق


      • #4
        عذرا لم أركز جيدا فهل هذا معناة أنك لم تعد تريد إجابة على السؤال الذى بالأعلى أم هذا مجرد توضيح لما تريدة ؟
        وفى جميع الأحوال إذا كنت لا تزال تنتظر إجابة سوف تكون الإجابة لها أكثر من جزء وهم :
        1-فى حالة تساوى عدد إندكسات الليست بوكس الأول و الثانى
        2-فى حالة أن تكون المقارنة من الليست بوكس الأكثر عددا إلى القل عددا
        3-فى حالة أن تكون المقارنة من الليست بوكس الأقل عددا إلى الأكثر عددا

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

        "بعمل ويندوز لواحد صاحبى وقدامى نصف ساعة أو ساعة فقط إن شاء الله"

        تعليق


        • #5
          بلغ سلامي لصديقك بعد ما تنهي عملك
          كل ما تراه يثري هذه النقطة فلابأس من إدراجه لتعم الفائدة

          موفق

          تعليق


          • #6
            حسنا أخى
            إليك إجابتى فى خمسة خطوات لتسهيل الفهم

            1- قم بالإعلان عن مصفوفة بإسم table1 و كذلك إعلن عن مصفوفة بإسم table2 كالآتى
            كود PHP:
            table1={}
            table2={} 
            2- فى الحلقة التى تملأ بها اللستبوكس 1
            و بعد سطر إدراج العنصر فى اللستبوكس
            ضع سطرا يضع نفس العنصر فى table1

            3- فى الحلقة التى تملأ بها اللستبوكس 2
            و بعد سطر إدراج العنصر فى اللستبوكس
            ضع سطرا يضع نفس العنصر فى table2

            4- إستخدم هذه الحلقة لأخذ العناصر المشتركة بين المصفوفتين إلى مصفوفة ثالثة و لتكن table3
            كود PHP:
            table3={}
            for 
            a,z in pairs  (table1) do
              for 
            x,y in pairs  (table2) do
                    if  
            == y then      
                      Table
            .Insert(table3xy);
                  
            end
              end
            end 
            5- إستخدم دالة اللوا
            كود PHP:
            max_num=table.maxn(table3
            لتصل فورا لمرادك و الذى سيكون فى المتغير max_num
            مع ملاحظة أن max_num إسم إختيارى و لك الحرية فى تغييره

            تعليق


            • #7
              سأحاول قدر المستطاع تجسيد بل فهم ما أشرت إليه
              لاحظ أستاذ خالد وقد أخبرتك سابقا أني أريد تعلم الحلقات التكرارية
              لذلك قد أطالب بدرس مميز حتى لايكون لي عذرا في التطبيق

              تعليق


              • #8
                المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                سأحاول قدر المستطاع تجسيد بل فهم ما أشرت إليه
                لاحظ أستاذ خالد وقد أخبرتك سابقا أني أريد تعلم الحلقات التكرارية
                لذلك قد أطالب بدرس مميز حتى لايكون لي عذرا في التطبيق
                حسنا أخى
                أعد قراءة مشاركتى السابقة

                قمت بتعديلها و أضفت لك الحلقة اللازمة
                و أصبح الحل مكتمل الأركان

                تعليق


                • #9
                  المشاركة الأصلية بواسطة النصل القاطع مشاهدة المشاركة
                  حسنا أخى
                  أعد قراءة مشاركتى السابقة

                  قمت بتعديلها و أضفت لك الحلقة اللازمة
                  و أصبح الحل مكتمل الأركان

                  لا أعتقد ذلك أستاذ خالد

                  فعلى حد علمى أن :

                  table.maxn تســــاوى Table.Count أليس كذلك ؟


                  --------------------------------------

                  إليك الجزء الأول من الحل وهو عند تساوى أعداد المصفوفتين " كعدد عناصر "


                  الكود هكذا لتعم الفائدة وفى المرفقات الملف المفتوح :

                  كود PHP:
                  --
                  con1 ListBox.GetCount("ListBox1");
                  con2 ListBox.GetCount("ListBox2");
                  a=0;
                  if 
                  con1==con2 then
                    
                  for i=1con1 do
                      
                  txt1 tonumber(ListBox.GetItemText("ListBox1"i));
                      for 
                  i=1,con1 do
                        
                  txt2 tonumber(ListBox.GetItemText("ListBox2"i));
                        if 
                  i<con1 and txt1==txt2 then
                          a
                  =txt1;
                          elseif 
                  i>=con1 and txt1==txt2 then
                            b
                  =txt1;
                            if 
                  b>a then
                              a
                  =b;
                            
                  end
                        end
                      end
                    end
                  end
                  if a>0 then
                    Input
                  .SetText("Input1"a);
                    else
                     
                  Input.SetText("Input1""لا يوجد أعداد مشتركة"); 
                  end 
                  وطبعا تم تنسيق الكود كتابيا لمعرفة بداية و نهاية الحلقات مع الشروط يعنى شغل على مية بيضة هههه

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

                  نقطة جانبية مصفوفات يمكن أن تكون ليست بوكس أو غيرة .
                  الملفات المرفقة

                  تعليق


                  • #10
                    المشاركة الأصلية بواسطة عبود عبود مشاهدة المشاركة
                    لا أعتقد ذلك أستاذ خالد

                    فعلى حد علمى أن :
                    table.maxn تســــاوى Table.Count أليس كذلك ؟
                    لا ليس كذلك

                    و لم أشأ الرد منذ البداية
                    حسنا إليك ردى

                    بداية فى هذه الحالة لا يهمنا تساوى أو عدم تساوى المصفوفتين
                    نحن هنا نحسب العناصر المشتركة و ليس العناصر المتخالفة

                    لا يهمنا نقارن من مع من
                    أكبر مع أصغر أم أصغر مع أكبر
                    لا يهم

                    الدالة maxn تعنى max number و تعطى الرقم الأكبر بالمصفوفة
                    و لو كان هناك معادلا لها بالأوتوبلاى لما طرحت أنا دالة اللوا

                    تحياتى

                    تعليق


                    • #11
                      المشاركة الأصلية بواسطة النصل القاطع مشاهدة المشاركة
                      لا ليس كذلك
                      بينى و بينك التجربة الفعلية

                      تعليق


                      • #12
                        عمل يستحق الوقوف عنده بارك الله فيكما
                        الأخ عبود نظرا لأن الجهاز عندي مصاب ولم استطع التجربة حاليا
                        قي الكود السابق هل يمكن للتعبير or أن يضم الاحتمالات المتبقية

                        تعليق


                        • #13
                          شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

                          تعليق


                          • #14
                            المشاركة الأصلية بواسطة النصل القاطع مشاهدة المشاركة
                            لا ليس كذلك

                            و لم أشأ الرد منذ البداية
                            حسنا إليك ردى

                            بداية فى هذه الحالة لا يهمنا تساوى أو عدم تساوى المصفوفتين
                            نحن هنا نحسب العناصر المشتركة و ليس العناصر المتخالفة

                            لا يهمنا نقارن من مع من
                            أكب مع أصغر أم أصغر مع أكبر
                            لا يهم

                            الدالة maxn تعنى max number و تعطى الرقم الأكبر بالمصفوفة
                            و لو كان هناك معادلا لها بالأوتوبلاى لما طرحت أنا دالة اللوا

                            تحياتى
                            إذن أقنعنى بملف مفتوح جائز أنى تسرعت فى الحكم


                            -----------------------------------------------------

                            المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
                            الأخ عبود نظرا لأن الجهاز عندي مصاب ولم استطع التجربة حاليا
                            قي الكود السابق هل يمكن للتعبير or أن يضم الاحتمالات المتبقية
                            لا فالتعديل سيكون بوضع شرط آخر عندما يكون احد المصفوفات أكبر من الآخر وسيكون شرط ثم يلية التكرار تبعا للعملية من كبير إلى صغير او العكس ويكون تابع للشرط الأول فى الكود بــ elseif con1< con2 أو العكس

                            تعليق


                            • #15
                              إخواني لمعرفة أكبر عدد في المصفوفة قرأت مرة هذا
                              في global function :
                              كود:
                               function largest(t)
                                local maxcount = t[1]
                              local maxindex = 1
                                 for index, value in pairs(t) do
                                  if value > maxcount then
                                     maxcount = value
                                     maxindex = index
                                   end
                                 end
                                 return maxcount, maxindex
                               end
                              و لاستغلاله ضع تحت زر لتتم القراءة في أنبوت 1 مثلا
                              كود:
                              numbers = {12, -360, -3}
                              
                               Input.SetText("Input1", largest(numbers));

                              تعليق

                              مواضيع تهمك

                              تقليص

                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-08-2025 الساعة 11:33 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 06-04-2025 الساعة 05:29 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-31-2025 الساعة 10:07 PM
                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 05-30-2025 الساعة 11:48 PM
                              المنتدى: التصنيع والانتاج نشرت بواسطة: HaMooooDi الوقت: 05-30-2025 الساعة 09:36 AM
                              يعمل...
                              X