صفحة 8 من 9 الأولىالأولى ... 3456789 الأخيرةالأخيرة
النتائج 106 إلى 120 من 134

الموضوع: ألغاز برمجية

  1. #106
    عضو جديد
    تاريخ التسجيل
    Sep 2005
    المشاركات
    14


    أشكر الإخوة جميعاً على فوائدهم الجمة

    وبالنسبة للأخ daif أريد أن أستوضح بضع نقاط تخص سؤاله:

    فالذي فهمته أنه سيكون هناك حقل ترتيب افتراضي أو NULL مما يعني إلغاء تعليمة الترتيب من الاستعلام
    ثم يقوم المستخدم بطلب ترتيب البيانات وفق حقل جديد، وعندها سيكون هو مفتاح الترتيب الرئيس، ويصبح الحقل/الحقول السابقة مفاتيح ترتيب ثانوية.

    * سؤال مهم: الآن ما الذي سيخزن في الجلسة: الحقل الجديد أم جميع الحقول التي طلب الترتيب وفقها سابقاً ؟ الظاهر أن المطلوب تخزين جميع الحقول التي سبق الترتيب وفقها.

    * سؤال آخر: هل يحذف متحول حقل الترتيب من الجلسة إذا تم تحميل صفحة أخرى ؟

    ويجدر الانتباه إلى هذه الحالة: يمكن أن يطلب المستخدم الترتيب وفق ID ثم طلب الترتيب وفق Name ثم طلب الترتيب وفق ID مجدداً ! فيستحسن أن يقوم البرنامج بالبحث عن حقل الترتيب الجديد في الحقول السابقة والتعامل معها بشكل صحيح.

    هناك أمور أخرى يجدر التعليق عليها لكني أردت تبين الحل الذي ينشده الأخ الكريم حتى يأتي الجواب مناسباً.

    والله تعالى أعلم






  2. #107
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2007
    المشاركات
    393


    اقتباس المشاركة الأصلية كتبت بواسطة Bruce
    Flasher

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

    ثاني شي لماذا الاستهزاء

    لاحول ولا قوة الا بالله

    ثالتا اسف اذا كنت قد غلطت معاك

    سلام
    حلي خطأ طيب مشكور ،اذا كان نسخه الEasyTemplate عندك لاتدعم المصفوفات فهذا شئ اخر .. وابدا اخي لايوجد اي استهزاء اذا كنت لاتتقبل المزح اسفين .. بس استغرب يعني سويت Run للبرنامج عندي وشغال تمام ثم تجي تقول غلط هذا اللي خلاني اقول انك تستهبل بس فقط لا غير بس اتضح لي ان هناك لبس لا اقل ولا اكثر وشاكر لك تفاعلك.

    *وتم تعديل الرد في الاعلى





    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  3. #108
    عضو جديد
    تاريخ التسجيل
    Sep 2005
    المشاركات
    14


    هذه محاولة سريعة وبافتراض إجابات على الأسئلة السابقة مني.

    كود PHP:
    function ordersql($sqlstmnt$orderfield) {
      if ((isset(
    $_SESSION['orderby'][0])) && (($k=array_search($orderfield$_SESSION['orderby']))!==FALSE))
        
    array_splice($_SESSION['orderby'], $k1);
      
    $_SESSION['orderby'][]=$orderfield;
      return 
    $sqlstmnt." ORDER BY ".implode(','$_SESSION['orderby'])." ;";

    طبعا $sqlstmnt هي عبارة الاستعلام دون أمر الترتيب، $orderfield اسم الحقل المراد الترتيب وفقه>

    والله أعلم






  4. #109
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2007
    المشاركات
    393


    TheReality

    ممتاز اتوقع حلك صحيح وبانتظار اخوي ضيف الله

    وهذا تعديل بسيط مني :

    كود PHP:
    function ordersql($sqlstmnt$orderfield$execute false
    {
        if(!
    $_SESSION['orderby']) //  if orderby array is not initialized yet.
        
    {
            
    $_SESSION['orderby'] = array();
        }
        if(!
    in_array($orderfield,$_SESSION['orderby'])) // if orderfield not exist in our array
        
    {
            
    $_SESSION['orderby'][]= $orderfield
        }
        
    $sql $sqlstmnt." ORDER BY ".implode(','$_SESSION['orderby']);
        if(
    $execute// auto execution mode 
        
    {
            return 
    mysql_query($sql);
        }
        else 
    // or just prepare SQL
        
    {
            return 
    $sql;
        }

    بالنسبة لسؤالك ياليت تقرب شوي هل نستعمل Bitwise Operators ولا تكرارات ولا ايش بالضبط





    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  5. #110
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    وهذا حلي
    كود PHP:
    function order($by){
        if (! 
    $_SESSION['ord']){
            
    $_SESSION['ord'] = array();
            
    $flds $by;
            
    array_push($_SESSION['ord'], $by);
        }else if (! 
    in_array($by$_SESSION['ord']){
            
    array_push($_SESSION['ord'], $by);
        }
        
    $flds implode(","$_SESSION['ord']);
        return 
    $flds;


    مثال له :
    كود PHP:
    mysql_query("select * from student ordery by ".order('ID').""); 






    __________________
    SWF Thumbnail - tweet me

  6. #111
    عضو جديد
    تاريخ التسجيل
    Sep 2005
    المشاركات
    14


    أخي Egyptechno
    السطر
    كود PHP:
    $flds $by
    غير مؤثر، فأنت لا تحتاج إليه، كما أنك لا تستخدم قيمة $flds هذه

    كذلك السطران
    كود PHP:
    SESSION['ord'] = array();
    array_push($_SESSION['ord'], $by); 
    يمكنك كتابتهما ببساطة بالشكل
    كود PHP:
    SESSION['ord'] = array($by); 
    الملاحظة الثالثة
    تحتاج أن تناقش حالة
    كود PHP:
    if (in_array($by$_SESSION['ord']) 
    بمعنى أن تضيف else في نهاية الشروط لأن الدالة بوضعها الحالي تتجاهل طلب الترتيب على أساس حقل إذا كان قد تم الترتيب عليه سابقاً
    بمعنى لو رتب المستخدم ابتداءً وفق ID، ثم وفق Name ثم طلب الترتيب وفق ID مرة أخرى فإن عبارة الترتيب ستتجاهل الطلب الأخير وستبقى
    ORDER BY Name, ID بدلاً من ORDER BY ID, Name

    وهذه الملاحظة تنطبق على حل الأخ الكريم Flasher

    وجواباً على سؤالك أخي Flasher
    يمكنك استخدام ما شئت من معاملات bitwise لو أردت
    أما التكرار فإن كان يحتوي شرطاً فإنه غير مسموح
    يمكن أن أنشر صورة تقرب الحل بنسبة 90%، لكني لا أريد أن أفسد عليك متعة التفكير، لذا أعلمني متى رغبت بذلك.






  7. #112
    عضو جديد
    تاريخ التسجيل
    Sep 2005
    المشاركات
    14


    هذه فكرة للحل، ولم يبق إلا تحويلها إلى تعليمات php






    الصور المرفقة الصور المرفقة  

  8. #113
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2007
    المشاركات
    393


    اقتباس المشاركة الأصلية كتبت بواسطة TheReality
    هذه فكرة للحل، ولم يبق إلا تحويلها إلى تعليمات php
    شايفنا علماء نفس :anger2:



    هل تقصد به خط الاعداد :con2: او تكراين داخل بعض :con2:
    الصراحه غير ممفهوم ابد

    عالعموم اليومين هذي حاولت بمحاولة شبه فاشلة :
    تعتمد على اخذ عددة مرات من التبديل فلو جبنا 0 - 1 === مرات التبديل = 1 نقلبهم يكونون
    1 - 0
    max - min
    طبعا كما قلت لم احصل على الخوارزمية بشكل جيد
    كود PHP:
    function max_min($x,$y)
    {
        
    $i     * ($x $y);
        
    $b $i ;
        
    $i = -$b 1;
        
        
        
    $i2 $i;
        while(
    $i--)
        {
            
    // swaping
            
    $x ^=  $y;
            
    $y ^=  $x;
            
    $x ^=  $y;   
        }
        
        return array(
    $x,$y,$i2 | $xx | $yy");
    }


    // end algorithm 
    // testing :


    echo "<table width=500 border=1>";
    echo 
    "<tr><td>  numbers</td><td> max </td><td> min</td></tr>";
    for(
    $x 0;$x<= 5;$x++)
    {
        for(
    $y 0;$y<= 5;$y++)
        {
            
    $a max_min($x,$y);
            
    $max max($x,$y);
            
    $min min($x,$y);
            ${
    $max.'backgroundmax'} = "bgcolor=\"#FDFFD5\""
            if(
    $max != $a[0]  && $min != $a[1])
            {
                
    $error =  "bgcolor=\"#FFEAEA\""
            }
            echo 
    "<tr $error><td>  $x,$y</td><td ".${$y.'backgroundmax'}."> $a[0] </td><td ".${$x.'backgroundmax'}."> $a[1] </td><td> $a[2]</td></tr>";
            unset(${
    $max.'backgroundmax'},$error);
        }
    }
    echo 
    "</table>"






    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  9. #114
    عضو جديد
    تاريخ التسجيل
    Sep 2005
    المشاركات
    14


    مرحباً Flasher
    أضحكتني حكاية علماء النفس

    على العموم . . بالنسبة لمحاولتك وددت لو أنك علقت عليها بتفصيل أكثر لتتضح فكرتك
    وعندي على الدالة max_min الملاحظة التالية:
    السطر
    كود PHP:
    $i * ($x $y); 
    صريح في كون $i عدداً زوجياً من أجل جميع قيم $x و $y المحتملة
    وبالتالي تكون قيمة $b دائماً صفر
    وقيمة $i الجديدة دائماً 1
    وقيمة $i2 دائماً 1
    ويتم المرور في while مرة واحدة فقط، مما يعني حدوث التبديل دائماً ولمرة واحدة فقط
    أي أن الدالة تقوم بمبادلة العددين $x و $y دائماً أياً كانت قيمتاهما
    لذلك تجد في النتائج التي أظهرها تكرار for أن الثنائية 0 و 2 رتبت على أن 0 هي العدد الأكبر و 2 هي الأصغر

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

    لنكتب ذلك بلغة PHP:
    كود PHP:
    echo (($x+$y+abs($x-$y))/2)."<br />".(($x+$y-abs($x-$y))/2); 
    والله أعلم






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


    صريح في كون $i عدداً زوجياً من أجل جميع قيم $x و $y المحتملة
    وبالتالي تكون قيمة $b دائماً صفر
    وقيمة $i الجديدة دائماً 1
    وقيمة $i2 دائماً 1
    ويتم المرور في while مرة واحدة فقط، مما يعني حدوث التبديل دائماً ولمرة واحدة فقط
    أي أن الدالة تقوم بمبادلة العددين $x و $y دائماً أياً كانت قيمتاهما
    لذلك تجد في النتائج التي أظهرها تكرار for أن الثنائية 0 و 2 رتبت على أن 0 هي العدد الأكبر و 2 هي الأصغر
    كلامك صحيح ، الكود هذا عدلته اكثر من عشرين مرة يمكن حتى تشوف فيع فراغ شوي وسالفة الb وضعتها في حالة غير هذي الصراحه نسيتها ... عموما قد ياتي يوم ما وارجع للكود وافكر فيه اكثر .....والفكرة كما ذكرت اني اعرف كم مرة يجب علي التبديل $i


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





    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  11. #116
    عضو نشيط
    تاريخ التسجيل
    Aug 2004
    المشاركات
    163


    والله انكم عقدتونى فى البرمجه والكمبيوتر والانترنت

    انا بسوى معاشي وبكشح من النت نهائي

    وبروح اشتغل ترزى





    __________________
    !! هذه العضويه يستخدمها العديد من الأشخاص !!

  12. #117
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2007
    المشاركات
    393


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

    انا بسوى معاشي وبكشح من النت نهائي

    وبروح اشتغل ترزى
    اح اح ... الصراحه حالة غريبة / الله يستر عليك فمان الله


    عموما بما انه مافيه احد وضع سؤال :::

    تاريخ اليوم 5-8-2007 وأتينا بتاريخ مثلا 10-8-2007 كيف اعرف ان التاريخ المعطى ينتمي الى نفس الاسبوع الحالي
    * الاسبوع يكون يبدا من السبت حتى الجمعه





    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  13. #118
    عضو فعال
    تاريخ التسجيل
    Jun 2002
    المشاركات
    1,346


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

    هذا حلي.. :app:
    كود PHP:
    <html>

    <head>
      <title>Date/Week Check</title>
    </head>

    <body>
    <form name="" action="?check=1" method="post">
    Date (<b>Format: </b>Month/Day/Year)      <input name="date" type="text" maxlength="10"><br>
    <input type="submit" value="Check">
    </form>
    <br>
    <?php

    if($_GET && $_GET['check'] == && $_POST){
       
    $id $_POST['date'];
       
    $usd strtotime($id) - 172800;
       
    $newdate time()  - 172800;
       if(
    date("Y",$usd) != date("Y")) exit("<h2>DATE Error OR Not In The Same Year</h2>");
       
    $in_week date("W",$usd);
       
    $cu_week date("W",$newdate);
       if(
    $in_week == $cu_week){
               print 
    "<h2>Days Are in the Same Week</h2g>";
       }else{
               print 
    "<h2>Days NOT in the Same Week</h2g>";
       }
    }

    ?>

    </body>

    </html>
    تحياتي... :nice:






  14. #119
    عضو جديد
    تاريخ التسجيل
    Sep 2005
    المشاركات
    14


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

    وهذا حلي
    كود PHP:
    function sameweek($d) {
      
    $od strtotime($d);
      
    $diff = ((date('w'$od)+1)%7) - ((date('w')+1)%7);
      return (
    $od==mktime(0,0,0,date('m'),date('d')+$diff,date('Y')));

    مع ملاحظة أن المدخل $d بالصيغة التي اقترحتها في سؤالك، فمثلاً يمكنك استخدام الدالة على النحو التالي:

    كود PHP:
    echo (sameweek('2007-08-11'))?'yes':'no'
    وفكرة الحل باختصار أن تستنتج الدالة أي يوم من أيام الأسبوع يصادف التاريخ المدخل، فمثلاً لو صادف يوم الأربعاء، فإن الدالة تقوم باحتساب تاريخ يوم الأربعاء من الأسبوع الحالي، فإذا طابق التاريخ المدخل أجابت ب TRUE وإلا أجابت ب FALSE، حيث إنه لا يوجد سوى أربعاء واحد كل أسبوع !

    أيضاً تم اعتبار بداية الأسبوع بالسبت كما في السؤال عن طريق تحويل ترتيب أيام الأسبوع إلى فهرسة صفرية وإزاحتها بمقدار 2.

    والله تعالى أعلم






  15. #120
    عضو جديد
    تاريخ التسجيل
    Sep 2005
    المشاركات
    14


    هل يمكن أن أسأل ؟ أم لا زالت ثَم إجابات في الطريق ؟










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

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

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