ما المشكلة في هذا الكود ؟

  • abdnour

ارجوا منكم مساعدتي في فهم المشكل

هذه ال method تأخذ اثنين string مُشَكَلَانْ من ارقام مرتبة من الاصغر الى الاكبر و تقوم باخراج العدد الأكبر المشترك بينهما

لكن المتغير temp دائما تبقى قيمته صفر لماذا و كيف الحل ؟

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

muhammadlatmini أضف ردا

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

كيف حالك اخي ارجو ان تكون بصحة وعافية

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

string a = "012345678", b = "123455";

        int temp = 0;
        for (int i = 0; i < a.Length;i++)
                if (b.Contains(a[i]))
                { 
                    temp = Convert.ToInt32(Convert.ToString( a[i]));
                }
        Console.WriteLine(temp);
            Console.ReadKey();

ملاحظة قمت بإنشاء متغيرين نصيين وقمت بإعطاءهما قيما افتراضية يمكن لك اخي ان تستخدم الدالة readline() وان تقوم بجعل المستخدم هو من يقوم بإدخال القيم التي يختارها

قم بتجربته و في حال اسأت فهم البرنامج ارجو اخباري بذلك

لك مني كل الشكر والاحترام :)

abdnour أضف ردا

شكرا لك لقد جربته وقد نجح لكنني اكتشفت فيما بعد ان هذه الطريقة تصلح فقط اذا كانت المضاعفات اصغر من 10 لان هذا البرنامج كتبته لاستخرج القاسم المشترك الاكبر pgcd لقد كتبت كودا اخر ساطرحه هنا في اقرب وقت عندما اكون على اللابتوب :) شكرا

ضع لنا مثال عن قيمة a و b

أعتقد أنه يريد PGCD

Plus Grand Commun Diviseur

أي القاسم المشترك الاكبر ،

مثلا 6 و 3 القاسم الاكبر بينها هو 3

abdnour أضف ردا

قيمة a مثلا هي 24579

قيمة b هي 3689

كلتاهما string لاحظ ان الارقام مرتبة تصاعديا

لقد جربت الكود على هاتين القيمتين وطبع رقم 57 الذي هو قيمة الكود للرمز 9 حيث أنك تتعامل مع char وعند تحويله إلى Int32 يعيد قيمة الأسكي أو اليونيكود للرمز الهدف.

جيد اذا لقد نجح معك لكنه لم ينجح معي لانه يعطيني compile error و هي used of unassigned local variable temp ماذا فعلت حتى نجح ؟؟؟

هل تستخدم متحول temp في مكان آخر ؟

أين يقف المؤشر عند النقر المزدوج على الخطأ ؟

لقد كنت استخدمه في مكان اخر و لهذا وقع هذا المشكل

شكرا لك + عذرا على الازعاج