صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 28

الموضوع: لعبة .. ضع سؤال لغوي ، ودع الآخرين يقومون بالإجابة عليه .. برمجياً

  1. #1

    Smile لعبة .. ضع سؤال لغوي ، ودع الآخرين يقومون بالإجابة عليه .. برمجياً



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

    كل عام وأنتم بخير ، عيدكم مبارك .. أعاده الله علينا وعليكم بالفرح والمسرات وباليمن والبركات

    فكرة هذا الموضوع أو اللعبة ، هو أن يقوم كل شخص منا بوضع سؤال برمجي مع الجواب خاصته ، ويقوم الآخرين بالإجابة عليه برمجياً

    ولن ننتهي .. حتى يخرج أحدنا بشيفرة برمجية ينافس ماقام السائل ببرمجته ويعتبر:
    • الأكثر تنقيحاً من الأخطاء
    • والأسرع في عملها
    • والأقل في عدد سطورها


    أعتبر الموضوع تشغيل للمخ والمخيخ ، لعبة تحدي ومنافسة بين المبرمجين

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

    نبدأ باسم الله

    أنا لدي دالة برمجية ، تقوم عملها على حذف الحروف الزائدة عن 3 أحرف متتالية إلى حرف واحد فقط.

    بمعنى أنه لو لدي مثلاً كلمة Teeest وقمت بتمريرها إلى تلك الدالة فإنها ستخرج لي كلمة Test
    لكن لو لدي مثلاً كلمة Teest أو Hello ، فإن الناتج ستكون نفسه Teest أو Hello

    وهذه تلك الدالة ..

    كود PHP:
    function clean_word($text)
    {
        
    $new_word = array(); $len_word strlen($text);
        for (
    $i 0$i $len_word$i++)
        {
            for (
    $j $i 1$text["$i"] == $text["$j"]; $j++);
            if (
    $j >= $i 3$i $j 1;
            
    $new_word["$i"] = $text["$i"];
        }
        return 
    implode(''$new_word);

    من يستطيع القيام بعمل تلك الدالة ، بأبسط الطرق وبأسرع النتائج مما قمت به ، يعتبر هو الفائز

    لايوجد قوانين لتلك اللعبة ، استخدم ماشئت من دوال .. من يقوم بطرح الكود الأفضل يعتبر هو الفائز
    بإمكانك كتابة 500 سطر وبإمكانك كتابة سطر واحد .. المهم أن تخرج كود يؤدي عمله أفضل مما طرحته

    وشكراً لكم





    التعديل الأخير تم بواسطة محمد الطويل ; 16-11-2010 الساعة 11:12 PM
    __________________
    تابعني على Twitter


  2. #2
    عضو فعال
    تاريخ التسجيل
    Apr 2010
    المشاركات
    1,095


    اعتقد انك تستطيع عملها باستخدام التعابير القياسية لكن ليست لدي الخبرة الكافية لعملها





    __________________
    قال صلى الله عليه وسلم : كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم)

  3. #3


    حقيقة الموضوع شيق و لكن لم أعرف إجابة السؤالو لذلك لقلة معرفتي بالدوال .
    احاول الأن مرة اخري، و في انتظار رؤية اجابات اخري





    __________________
    Twitter : eMostafa91

  4. #4


    بالبداية اشكرك على الموضوع

    وتم الانتهاء من عمل الدالة المطلوبة بثلاث اسطر

    الله يخلي التعابير القياسية

    كود PHP:
    function Cleaner($text)
    {
        
    $letter preg_match('/([a-z])\\1{2,}/'$text $sts);
        
    $word str_replace($sts[0] , $sts[1] , $text);
        return 
    $word;

    طبعا بعض المساعدة من المبرمج القدير Math_Dev ، في التعابير القياسية

    تحياتي لك





    التعديل الأخير تم بواسطة عبدالله أبولبن ; 17-11-2010 الساعة 12:51 AM
    __________________
    زورونا في موقع الحياة للنقاشات والأسئلة والأجوبة :
    - php >> وهو لحل مشاكل php وما حولها
    - Ideas >> وهو لعرض الأفكار وتقييمها وايضا لمناقشة الأفكار

  5. #5


    hussein.shy ، اسلام مصطفي
    حياكم الله

    عبدالله أبو لبن .. ممتاز، لكن للأسف .. تلك الدالة صالحة فقط للعمل مع كلمة وحدة
    لو أتينا بجملة مثل Heeello Wooorld ، راح تضبط الكلمة الأولى وتترك البقية

    حلك رائع ، لكن حاول مجدداً





    __________________
    تابعني على Twitter

  6. #6


    hussein.shy ، اسلام مصطفي
    حياكم الله

    عبدالله أبو لبن .. ممتاز، لكن للأسف .. تلك الدالة صالحة فقط للعمل مع كلمة وحدة
    لو أتينا بجملة مثل Heeello Wooorld ، راح تضبط الكلمة الأولى وتترك البقية

    حلك رائع ، لكن حاول مجدداً
    تفضل يالغالي :

    كود PHP:
    function Cleaner($text)
    {
        
    $letter preg_match_all('/([a-z])\\1{2,}/'$text $sts);
        
    $word str_replace($sts[0] , $sts[1] , $text);
        return 
    $word;

    تحياتي لك





    __________________
    زورونا في موقع الحياة للنقاشات والأسئلة والأجوبة :
    - php >> وهو لحل مشاكل php وما حولها
    - Ideas >> وهو لعرض الأفكار وتقييمها وايضا لمناقشة الأفكار

  7. #7


    أحسنت ، ممتاز جداً

    وهذا تعديلي لكودك .. أعتقد لايوجد اختصار أكثر من ذلك

    كود PHP:
    function Cleaner($text)
    {
        
    preg_match_all('/(.)\1{2,}/'$text $sts);
        return 
    str_replace($sts[0] , $sts[1] , $text);

    بارك الله .. فيك

    نحتاج لأسئلة مثل ماطرحت .. فهل من مبادر ؟





    __________________
    تابعني على Twitter

  8. #8


    أحسنت ، ممتاز جداً

    وهذا تعديلي لكودك .. أعتقد لايوجد اختصار أكثر من ذلك

    كود PHP:
    function Cleaner($text)
    {
        
    preg_match_all('/(.)\1{2,}/'$text $sts);
        return 
    str_replace($sts[0] , $sts[1] , $text);

    بارك الله .. فيك

    نحتاج لأسئلة مثل ماطرحت .. فهل من مبادر ؟
    طيب مش ممكن نفهم الأول الكود ، ﻷان أغلبنا لم يتعامل مع التعابير القياسية

    و كان عندي فكرة هي عمل هرم بالأرقام مثلا أول سطر 0
    و الثاني 1 0
    الي ان نصل لرقم 9 ينتهي الهرم .





    __________________
    Twitter : eMostafa91

  9. #9


    كود PHP:
    <?php
    $text 
    'MtRp';
            if(isset(
    $text)){
    if (
    strlen($text) == 4){
        echo 
    "string '$text' has 4 characters";}
    else{
        echo 
    "string '$text' is less OR more than 4 characters";}
        }
    ?>
    ضعوا كود لعمل نفس الوظيفة





    __________________
    - حسابى على فيسبوك --> هنا
    - لطلبات تعريب السكربتات والقوالب & التعديلات البرمجية ---> MtRp@live.com

  10. #10
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    309


    كود PHP:
    <?php
    $text 
    'MtRp';
    if (isset(
    $text[3])){
        echo 
    "string '$text' has 4 characters";
    }else{
        echo 
    "string '$text' is less OR more than 4 characters";
      }
    ?>






    __________________
    Bruce - مدونة شديدة التخصص في PHP وتطبيقات الويب

  11. #11


    ما شاء الله اخى Bruce
    السؤال شكله كان سهل جدا





    __________________
    - حسابى على فيسبوك --> هنا
    - لطلبات تعريب السكربتات والقوالب & التعديلات البرمجية ---> MtRp@live.com

  12. #12


    ما شاء الله اخى Bruce
    السؤال شكله كان سهل جدا
    ما رأيك ؟
    كود PHP:
    $text 'MtRp';
    ( isset(
    $text) & strlen$text ) == ) ? $str "string " $text" has 4 characters" $str "string " $text" is less OR more than 4 characters";
    echo 
    $str 







  13. #13


    ما رأيك ؟
    كود PHP:
    $text 'MtRp';
    ( isset(
    $text) & strlen$text ) == ) ? $str "string " $text" has 4 characters" $str "string " $text" is less OR more than 4 characters";
    echo 
    $str 
    جميلة حدا خصوصا حركة ؟ بدلا من IF
    فهمتها الان جيدا
    شكرا لك





    __________________
    - حسابى على فيسبوك --> هنا
    - لطلبات تعريب السكربتات والقوالب & التعديلات البرمجية ---> MtRp@live.com

  14. #14


    طيب مش ممكن نفهم الأول الكود ، ﻷان أغلبنا لم يتعامل مع التعابير القياسية

    و كان عندي فكرة هي عمل هرم بالأرقام مثلا أول سطر 0
    و الثاني 1 0
    الي ان نصل لرقم 9 ينتهي الهرم .
    والله بودي أشرح ، لكني معروف بالكسل في الشروحات .. إن شاء الله يأتي من يشرحه لنا جيداً
    وبخصوص شكل الهرم، فهذا أفضل ماستطعت أن أتوصل إليه:
    كود PHP:
    for ($i 0$i 10$i++)
    {
        for (
    $j 0$j <= $i$j++) echo $j ' ';
        echo 
    '<br />';

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

    Bruce ، الشيفرة خاطئة ، لأن الأمر الشرطي ينص على أن تكون الجملة أربعة أحرف فقط ، وأنت بأمرك الشرطي قلت أنه إذا كان هناك حرف رابع أم لا ، دون تعيير الإهتمام إلى مابعد الحرف الرابع

    أظن أن هذه أفضل لاستخدامي IF فقط دون ELSE .. مما يوفر جهد مترجمات PHP
    كود PHP:
    $text 'MtRp'$msg 'string \'' $text '\' is less OR more than 4 characters';
    if (
    strlen($text) == 4$msg 'string \'' $text '\' has 4 characters';
    echo 
    $msg
    وإن كنت ترغب باختصار أكثر من ذلك فأظن أن هذه الشيفرة ستوفي:
    كود PHP:
    $text 'MtRp';
    echo 
    'string \'' $text '\' ' . (strlen($text) == 'has' 'is less OR more than') . ' 4 characters'


    عندي سؤال من العيار الثقيل ، باستخدام Two Loops فقط ، كيف نقوم بعرض الشكل التالي:
    كود:
    *
    ***
    *****
    *******
    *********
    *******
    *****
    ***
    *






    __________________
    تابعني على Twitter

  15. #15


    عندي سؤال من العيار الثقيل ، باستخدام Two Loops فقط ، كيف نقوم بعرض الشكل التالي:
    كود:
    *
    ***
    *****
    *******
    *********
    *******
    *****
    ***
    *
    و لماذا حلقيتان (Two Loops) ؟
    واحدة تكفي بإذن الله
    كود PHP:
    for ( $i $i 10 $i ++) {
            (
    $i 5) ? $r 10 $i $r $i ;
            echo 
    str_repeat"*" , ($r 2) - ) . "<br />" ;












ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض