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

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

مشكلة في جمع منازل الأعداد الكبيرة

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

  • مشكلة في جمع منازل الأعداد الكبيرة

    السلام عليكم

    لجمع أرقام عدد منطقيا بناء الأكواد يكون
    كالتالي :
    كود:
    n=Input.GetText("Input1");
    n = String.ToNumber(n);
    x = 0
       while n > 0 do
          x = x + Math.Mod(n, 10)
          n = math.floor(n/10)
       end
     Dialog.Message("Notice",x);
    لكن عند الوصول إلى أرقام ضخمة تتجاوز 14 منزلــة تبدأ تظهر معي أخطاء
    هل الخلل في بناء الكود أم في الأعداد الكبيرة
    و هل من كود بديل
    ســـلام

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

    تعليق


    • #3
      وعليكم السلام ورحمة الله وبركاته
      استاذ / ثامر
      ماذا تقصد بالخطأ
      انا جربت الكود وادخلت ارقام كبيرة
      عشرين منزلة واكثر ويعمل الكود
      بشكل سليم

      تعليق


      • #4
        السلام عليكم ورحمة الله وبركاته
        أستاذ ياسر
        جرب ناتج 99999999999999999999 هذا العدد المكون من 20 منزلة

        تعليق


        • #5
          المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
          هل الخلل في بناء الكود
          لا

          المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
          أم في الأعداد الكبيرة
          نعم

          المشاركة الأصلية بواسطة ثامر أبو بلقيس مشاهدة المشاركة
          و هل من كود بديل
          نعم



          تعليق


          • #6
            عذرا فلم الاحظ أن تاريخ الإستفسار 22-03-2014 من حوالى 6 أشهر

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

            تعليق


            • #7
              الانبوت الأول أكتب فيه العدد
              الانبوت الثاني تستقبل فيه النتائج
              كود PHP:
              n=Input.GetText("Input1");
              for 
              ,#n do
              Input.SetText("Input2"String.ToNumber(Input.GetText("Input2"))+ String.ToNumber(String.Mid(ni1)));
              end 
              موفق

              تعليق


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

                كنت اعد حلا يرتكز على التعامل المباشر مع الأعداد الكبيرة
                لكن انت صاحب السؤال و انت من تقرر انه قد تم حله

                تعليق


                • #9
                  لاداعي للاعتذار أخي الكريم .. مشكور جدا على نية تقديم
                  المساعدة و الاهتمام

                  تعليق


                  • #10

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

                    تعليق


                    • #11
                      مرور عطر أستاذي ياسر

                      تعليق


                      • #12
                        حسنا لا مشاكل
                        إلق نظرة هنا
                        http://sites.ienajah.com/vb2/showthread...635#post268635

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

                        تعليق


                        • #13
                          من المؤكد عمل ممتاز و مجهود ممتاز
                          و للأمانة إني إطلعت على عمل مماثل يتعلق
                          Big number حيث يتم وضع هذا الملف
                          بعد فكه :
                          http://www.gulfup.com/?HcqLO3
                          في مجلد Scripts التابع للأوتوبلاي

                          ومثلا نأخذ هذا الكود وهو عبارة عن جداء عدد مكون من 2000 منزلة
                          في عدد آخر
                          وسيكون هذا الكود لمعاينة النتائج و حساب عدد منازل الناتج
                          كود PHP:
                          require "bc";
                          local bignum bc.number("100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000");
                          bignum bignum 200
                          Dialog
                          .Message("Big number"tostring(bignum));
                          Dialog.Message("Big number",  String.Length(tostring(bignum))); 

                          أشكرك أخي وجاري الاطلاع على الملف المشار إليه

                          تعليق


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

                            تعديل
                            جرب تستخدم انبوت للإظهار أو للسحب

                            تعليق


                            • #15
                              لست متأكد بعد من النتائج بعد السحب من أنبوت
                              و انزال في الاخر
                              وفق هذا التعديل
                              [html]require "bc";
                              bignum = bc.number(""..Input.GetText("Input1"));
                              bignum = bignum * 12
                              Input.SetText("Input2",tostring(bignum));
                              Dialog.Message("Big number", String.Length(tostring(bignum)));[/html]

                              جعل الانبوت متعدد الاسطر

                              تعليق

                              مواضيع تهمك

                              تقليص

                              المنتدى: القسم العام نشرت بواسطة: ماريا عبد الله الوقت: 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