تم النشر منذ 27 Jul 2014 (معدل) السلام عليكملدي هدا الكود البرمجيالمطلوب تعديل الكود لجعله أسرع في التنفيد بنسبة أكتر من 50%**مع كتابة استنتاج يعتمده المبرمج في كتابة برامجه الشروط:عدم اضافة أو ازالة أي حرف أو رقم أو رمزعدم عدم تغيير فكرة عمل الكودالتعديل مسموح داخل الدالة الرئيسية فقط المستوى: من مبتدأ الى متوسط#include<stdio.h>int cotin(){ int i,a=0; for(i=0; i<10000000; i++) a++; return a;}int couti(){ int i,a=0; for(i=0; i<100000; i++) a++; return a;}int cutin(){ int i,a=0; for(i=0; i<1000; i++) a++; return a;}int main(){ if(cotin()<=1000||cutin()<=1000||couti()<=1000) printf("MouhcineFD");}** سبب تعديل الموضوع تم تعديل 27 Jul 2014 بواسطه MouhcineFD 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 27 Jul 2014 #include<stdio.h>int cotin(){ int i,a=0; for(i=0; i<10000000; i++) a++; return a;}int couti(){ int i,a=0; for(i=0; i<100000; i++) a++; return a;}int cutin(){ int i,a=0; for(i=0; i<1000; i++) a++; return a;}int main(){ if(cutin()<=1000 || cotin()<=1000||couti()<=1000) printf("MouhcineFD");موضع التعديل : هو أن أجعل الدالة الآخيرة cutin هي الأولى في الشرط لأنها محققة في كل الأحوال وأن نؤخر الدالة cotin لانها غير محققة في كل الأحوال فهي أكبر من 1000 واستدعاؤها في أول الشرط مضيعة للوقت 1 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 27 Jul 2014 (معدل) عند بناء البرنامج مع تفعيل التحسينات، المصرف يحسب القيم التي تعيدها تلك الدوال ويحسب الشرط عند بناء البرنامج، في النهاية سيحذف جملة if من الدالة، كأن البرنامج:#include <stdio.h>int main(){ printf("MouhcineFD"); return 0;}وبدون تعديل شيء. لكن أظن أنك تلمح للـshort circuit evaluation. تم تعديل 27 Jul 2014 بواسطه Mr.B 1 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 27 Jul 2014 أحمد أبو عبد البر وجدت الحل لكن لم تعدله بالشكل الأفضل+ انظر الموضوع تمت اضافة طلب جديد 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 27 Jul 2014 Mr.B من الشروط عدم اضافة أو ازالة أي حرف أو رقم أو رمزعدم تغيير فكرة عمل الكودالتعديل مسموح داخل الدالة الرئيسية فقط 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 27 Jul 2014 Mr.B من الشروط عدم اضافة أو ازالة أي حرف أو رقم أو رمزعدم تغيير فكرة عمل الكودالتعديل مسموح داخل الدالة الرئيسية فقط اظن ان Mr.B يقصد انه في كل الاحوال سيتم حذف الجملة الشرطية بسبب ال optimization (اذا كان مفعل) لذلك لا فرق بين ما كتبته انت وبين التعديل الذي ذكره الاخ احمد. 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 27 Jul 2014 أنا وضعت لغز بشروطوليس موضوع للنقاش عن طريقة عمل المصرفما قاله Mr.B صحيحولكن ليس هو حل اللغز 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 27 Jul 2014 (معدل) أحمد أبو عبد البر وجدت الحل لكن لم تعدله بالشكل الأفضل+ انظر الموضوع تمت اضافة طلب جديد هل تقصد أن أجعل الدالة cotin() هي الأخيرة لو كنت تقصد ذلك فإن ذلك لا يغير من السرعة شيئا فإنك سواء أخرتها أو قدمتها فلن تستدعى الدالتين cotin() و couti() وسيتحقق الشرط عند استدعاء الدالة الأولى تم تعديل 27 Jul 2014 بواسطه أحمد أبو عبد البر 1 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 27 Jul 2014 نعم هدا ما أقصدكما قلت فهو لن يغير شيئ لكن فقط في هده الحالةلنفترض أننا لا نعرف شيئ عن الدالة الأولى هل ستتحقق أم لا يعني من الأفضل جعل cotin هي الأخيرعلى العموم اجابتك صحيحة+ ماهو استنتاجك 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 25 Aug 2014 (معدل) انا افكر اتركوا لي فرصة للاجابة! تعديل:----- هذا هو الحل:#include<stdio.h>int cotin(){ int i, a = 0; for (i = 0; i < 10000000; i++) a++; return a;}int couti(){ int i, a = 0; for (i = 0; i < 100000; i++) a++; return a;}int cutin(){ int i, a = 0; for (i = 0; i < 1000; i++) a++; return a;}int main(){ if(cutin() <= 1000 || cotin() <= 1000 || couti() <= 1000) printf("MouhcineFD");} العامل || سوف يقيّم المعامل الاول و هو دائما صحيح فاذا سيتجاهل باقي المعاملات و بهذه الطريقة نكون وفّرنا عناء ايّ من باقي الدالات تم تعديل 25 Aug 2014 بواسطه adam-master 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
تم النشر منذ (معدل)
السلام عليكم
لدي هدا الكود البرمجي
المطلوب تعديل الكود لجعله أسرع في التنفيد بنسبة أكتر من 50%
**مع كتابة استنتاج يعتمده المبرمج في كتابة برامجه
الشروط:
عدم اضافة أو ازالة أي حرف أو رقم أو رمز
عدم عدم تغيير فكرة عمل الكود
التعديل مسموح داخل الدالة الرئيسية فقط
المستوى: من مبتدأ الى متوسط
** سبب تعديل الموضوع
تم تعديل بواسطه MouhcineFDشارك هذا الرد
رابط المشاركة
شارك الرد من خلال المواقع ادناه