اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

المسألة التي تحاول حلها هي String to Integer (atoi) والمطلوب هو:

تحويل سلسلة نصية تحتوي على رقم إلى عدد صحيح، والهدف هو تحويل السلسلة إلى عدد صحيح، مع التعامل مع الحالات الخاصة مثل الفراغات في بداية السلسلة، والرموز غير الرقمية، وحدود التمثيل الصحيح.

أي تحتاج إلى كتابة دالة تقوم بتحويل سلسلة نصية إلى عدد صحيح، والسلسلة يمكن أن تحتوي على فراغات في بدايتها، وقد تكون متباينة إذا كانت الأرقام إيجابية أو سلبية، وقد تحتوي السلسلة على أحرف غير رقمية وبالتالي يجب تجاهلها، وإذا تجاوزت القيمة المحسوبة حدود التمثيل الصحيح، يجب أن تُرجع INT_MAX (أكبر قيمة ممكنة للعدد الصحيح) أو INT_MIN (أصغر قيمة ممكنة للعدد الصحيح) حسب الحاجة.

مثال:

Input: str = "   -42"
Output: -42

Input: str = "4193 with words"
Output: 4193

Input: str = "words and 987"
Output: 0

Input: str = "-91283472332"
Output: -2147483648 (INT_MIN)

عليك تجاهل الفراغات في بداية السلسلة، وإذا كانت السلسلة فارغة أو لا يمكن تحويلها إلى عدد صحيح صالح، يجب أن تعيد الدالة قيمة 0.

ولعلك تتسائل لماذا النتيجة هنا هي 0؟ 

Input: str = "words and 987"
Output: 0

والسبب أن السلسلة "words and 987" تبدأ بكلمات (words) وليس برقم مباشر، وفي المسألة، يُطلب منك تحويل سلسلة تحتوي على رقم، وإذا كانت السلسلة لا تبدأ برقم، يجب عليك إرجاع 0.

  • 0
نشر
بتاريخ 2 ساعة قال Ahmed Ebrahim11:

السلام عليكم 

ما سبب المشكله هنا عل حسب فهمي يريد إخراج الارقام من اي string

وعليكم السلام،
كونك قد بدأت في حل المسائل أو ما يعرف ب problem solver وهي تعني إيجاد حل مشكلة بأفضل طريقة وبأقل تكلفة وتحويل فكرتك إلى كود
يجب عليك عند العمل على هذه المسائل في أي موقع مخصص لذلك ك codefores أو atcoder أو leetcode كل مسألة يكون لها نص ويوجد إدخال وأخراج لكل مسألة في البداية يجب عليك قراءة نص المسألة بشكل جيد ثم معرفة الحدود الدنيا والعظمى لمتحولات الدخل والخرج وهذا سوف يظهر جليا في المسائل التي تتطلب طباعة ارقام بعد الفاصلة، تأكد من البداية من قراءة النص بشكل جيد ولقط الفكرة الاساسية من المسألة كذلك قبل أن تقوم بإرسال الكود للتصحيح على الاختبارات، فكر في عقلك بالاختبارات التي من الممكن أن تعطل تنفيذ شيفرة الكود الخاص بك كمثال المسألة التي طرحتها وخاصة الاختبارات التي تكون بسيطة، طبعا لا تقلق في البداية سوف تكون طريقة الوصول للحل صعبه بعض الشيء إلى أن تعتاد على إيجاد الفكرة وكتابة الكود وحل المسألة، كذلك لا يكفي أن تقوم لاحقا بحل هذا النوع من المسائل التي تعتمد على فكرة بسيطة مبهمة،
وخاصة اذا كنت تطمح للمشاركة في المسابقات البرمجية الموجودة في بلدك أو أولمبياد المعلوماتية والذي يستهدف هذا النوع من المسائل ولكن يتطلب مستوى جيد لتحصل على مركز متقدم، تستطيع قراءة التعليقات هنا 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...