الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه Dr.UaE1 في 2 مايو 2013 · 9 رد · 1,651 مشاهدة · في قسم البرمجة بــ Javascript
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم،

 

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

 

 

شكرا لكم

#2

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

 

تحية طيبة وبعد..

 

أخي الكريم هذا كود كتبتة لك, و لكن سوف تحتاج الى بعض التعديلات عليه. مثلا طريقة أدخال الارقام وحفظها في Array

 

var arrayOfNumbers = [100,10,20,-30,50],    biggestNumber,    positiveNumberCount = 0,    negativeNumberCount = 0;for(i = 0; i < arrayOfNumbers.length; i++){    //check if the number is positive.    if(arrayOfNumbers >= 0){        positiveNumberCount++;    }        //check if the number is negative.    if(arrayOfNumbers < 0){        negativeNumberCount++;    }}//to find the biggest number inside the array.var temp = arrayOfNumbers.sort(function(a,b){ return a-b })[arrayOfNumbers.length-1];biggestNumber = temp;console.log('You have: '+ positiveNumberCount+' positive number and '+negativeNumberCount +' negative number');console.log('The biggiest number is: ' + biggestNumber);

 

للعلم, تم تجربة الكود بواسطة firebug لذالك سوف تلاحظ أستخدامي الى console.log لعرض الناتج

 

 

بالتوفيق

تم تعديل هذه المشاركة بواسطة D a r K T o u c h في 2 مايو 2013 في 22:43

My Latest

Hello Entity Framework Code First

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

#3

هل استطيع استخدام شي غير اخر لإظهار النتائج بدلا من console.log ؟

 

سؤال الثاني الكود ينقصه الإدخال من اليوزر صح!!

#4

ارجو منك سيدي تعدل الكود وتخلي القيم الييوزر يدخلها ، 10 ارقام، وطريقة الاخراج غيرها اذا تكرمت

#5

السلام عليكم

 

أين محاولاتك للحل أخي Dr.UaE1 ؟

 

لطريقة أخرى للإدخال يمكنك إستخدام عناصر النماذج في HTML كالتالي :

<!DOCTYPE html><html><head>    <style type="text/css">        *{padding:0; margin:0;}        body{            text-align: center;            background-color: #DDD;        }        #content {            margin: auto;        }        input[type=text]{            font-size: 22px;            border: 3px solid #FFF;            border-radius: 10px;            background-color: #EEE;            margin: 20px 0 0 0;            padding: 5px 10px 5px 10px;            width: 400px;        }        input[type=button]{            color: #999;            font-size: 22px;            border: 3px solid #999;            border-radius: 10px;            margin: 20px;        }        input[type=button]:hover{            color: #666;            border: 3px solid #666;            cursor: pointer;        }        #result {            color: #AAA;        }        #result span{            color: #00F;        }    </style></head><body>    <div id="content">        <div>            <input type="text" id="numbers" />        </div>        <div>            <input type="button" id="print" value="  Print  " onClick="getNumbers()"/>        </div>        <h3 id="result">                    </h3>    </div>    <script>        function getNumbers()        {            var pNumbers = 0;            var nNumbers = 0;            var numbers = document.getElementById('numbers').value;            numbers = numbers.replace(/\s+/g,' ');            numbers = numbers.split(' ');                        if(numbers.length !== 10){                alert('please enter 10 nubers only and use white spaces between numbers');                return false;            }            var maxNumber = parseInt(numbers[0]);            for(var i=0;i<numbers.length;i++)            {                numbers = parseInt(numbers);                if(numbers > 0){                    pNumbers++;                }else if(numbers < 0){                    nNumbers++;                }                if(numbers > maxNumber){                    maxNumber = numbers;                }            }            document.getElementById('result').innerHTML = '<div>Number Of Positive Numbers: <span>'+pNumbers+'</span></div>'+                                                            '<div>Number Of Negative Numbers: <span>'+nNumbers+'</span></div>'+                                                            '<div>Max Number: <span>'+maxNumber+'</span></div>';        }    </script></body></html>

* شرح كود الـ javaScript :

- عند الضغط على الذر Print يتم إستدعاء هذه الدالة فتقوم بجلب القيمة الموجودة في الحقل النصي ويتم تحويل القيمة النصية إلى مصفوفة من الأعداد على أن يتم الفصل بين الأعداد بإستخدام المسافات الفارغة

- نستخدم دالة parseInt للتويل القيم لأعداد صحيحة وإذا أردت أن تكون الأعداد كسرية إستخدم parseFloat

- هذه الدالة تقبل فقط 10 أعداد لتجعلها تقبل أي عدد من المدخلات أزل الشرط من الدالة .

- لطباعة البيانات في المتصفح نستخدم الأمر innerHTML .

1

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

لا إله إلا أنت سبحانك إني كنت من الظالمين

#6

سيدي الفاضل ممكن تشرح لي هذا الكود

 

 

 numbers = numbers.replace(/\s+/g,' ');   
          numbers = numbers.split(' ');
#7

الكود جميل .. لكن اريد طريقة الإدخال تكون عن طريق الpop-up يعني بالprompt ولـ كل رقم تطلع pop-up جديده اتمنى فهمتني ؟

#8
اقتباس

سيدي الفاضل ممكن تشرح لي هذا الكود

numbers = numbers.replace(/\s+/g,' ');
numbers = numbers.split(' ');

- أستخدم ما يعرف بالتعابير المنتظمة Regular Expression  التعبير \s+ يعني أي مسافة فارغة أو أكثر الـ s تعني space والـ + تعني تكرارها مرة أو أكثر .

- ثم نأتي لإستخدام دالة replace الوسيط الأول هي القيمة المراد إستبدالها وتقبل التعابير القياسية Regular Expression والوسيط الثاني القيمة التي سيتم الإستبدال بها ووضعتها هنا مسافة فارغة واحدة .

- السطر الثاني لتحويل السلسة النصية إلى مصفوفة ويتم هذا بإستخدام الدالة split وتأخذ وسيط وهو القيمة التي سيتم تقسيم السلسة النصية على أساسها وفي مثالنا هنا هي المسافة الفارغة ويمكن إستخدام أي رمز أخر طبعاً .

 

اقتباس

الكود جميل .. لكن اريد طريقة الإدخال تكون عن طريق الpop-up يعني بالprompt ولـ كل رقم تطلع pop-up جديده اتمنى فهمتني ؟

وما المشكلة لماذا لم تنفذها على الكود السابق ؟ , الأمر بسيط ستضع  prompt داخل حلقة for وتخزن القيمة المعادة في المصفوفة .

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

لا إله إلا أنت سبحانك إني كنت من الظالمين

#9
ahmedsaoud31 كتب:

- أستخدم ما يعرف بالتعابير المنتظمة Regular Expression  التعبير \s+ يعني أي مسافة فارغة أو أكثر الـ s تعني space والـ + تعني تكرارها مرة أو أكثر .

- ثم نأتي لإستخدام دالة replace الوسيط الأول هي القيمة المراد إستبدالها وتقبل التعابير القياسية Regular Expression والوسيط الثاني القيمة التي سيتم الإستبدال بها ووضعتها هنا مسافة فارغة واحدة .

- السطر الثاني لتحويل السلسة النصية إلى مصفوفة ويتم هذا بإستخدام الدالة split وتأخذ وسيط وهو القيمة التي سيتم تقسيم السلسة النصية على أساسها وفي مثالنا هنا هي المسافة الفارغة ويمكن إستخدام أي رمز أخر طبعاً .

 

وما المشكلة لماذا لم تنفذها على الكود السابق ؟ , الأمر بسيط ستضع  prompt داخل حلقة for وتخزن القيمة المعادة في المصفوفة .

 

 

انا حطيته في حلقة الfor وماضبط !! ممكن تعلمني كيف ؟

#10
اقتباس

انا حطيته في حلقة الfor وماضبط !! ممكن تعلمني كيف ؟

- هذا الأمر من أساسيات اللغة وليس به شئ صعب عموماً هذا هو الكود بعد التعديل -تم وضع الكود القديم في داخل تعليق- :

<script>    function getNumbers()    {        var pNumbers = 0;        var nNumbers = 0;                var numbers = new Array();        for(var i=0;i<10;i++)        {            numbers = parseInt(prompt("Please enter number "+i+1));        }        var maxNumber = numbers[0];        /*        var numbers = document.getElementById('numbers').value;        numbers = numbers.replace(/\s+/g,' ');        numbers = numbers.split(' ');                if(numbers.length !== 10){            alert('please enter 10 nubers only and use white spaces between numbers');            return false;        }        var maxNumber = parseInt(numbers[0]);        */        for(var i=0;i<numbers.length;i++)        {            numbers = parseInt(numbers);            if(numbers > 0){                pNumbers++;            }else if(numbers < 0){                nNumbers++;            }            if(numbers > maxNumber){                maxNumber = numbers;            }        }        document.getElementById('result').innerHTML = '<div>Number Of Positive Numbers: <span>'+pNumbers+'</span></div>'+                                                        '<div>Number Of Negative Numbers: <span>'+nNumbers+'</span></div>'+                                                        '<div>Max Number: <span>'+maxNumber+'</span></div>';    }</script>

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

لا إله إلا أنت سبحانك إني كنت من الظالمين

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…