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

سؤال:حساب عدد الأرقام المكتوبه من قبل المستخدم

بدأه l7ool في 12 مايو 2012 · 3 رد · 869 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم مبرمجي C++

البرنامج هو كتابه داله تحسب طول الارقام المدخله

مثلاً إذا دخل اليوزر

123

يعطي 3

ولو دخل

3245

يعطي 4

....

وبما إني مبتدئه حاولت في الحل لكن بالكلمات

#include <iostream>

using namespace std;

int main()

{

   int i=0;

   char *a="name";

while (*a)

{

   i++;

*a++;

}

cout<<i;

cout<<endl;


return 0;

}

سؤالي هو كيف احسب عدد الارقام " الذي يدخلها اليوزر" ؟

شاكره للجميع :)

تم تعديل هذه المشاركة بواسطة l7ool في 12 مايو 2012 في 23:05

#2
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    int i = 0;
    cin >> i;
    cout << (int)log10((float)i) + 1;
}

و الله ولي التوفيق

1

مدونتي: C++ Tips and Tricks

#3

إضافة إلى ما ذكره الأخ محمد علاء الدين, يمكنك كتابة الكود بأكثر من طريقة :

  • باستخدام الفئة ostringstream :
    #include <sstream>
    #include <iostream>
    int main()
    {
        int i;
        std::cin>>i;
        std::ostringstream os;
        os << i;
        std::string str = os.str();
        std::cout <<"Number of digits = "<< str.length()<< std::endl;
    }


  • كتابة دالة تقوم بحساب عدد الأرقام :
    int NumberOfDigits(int i) {
             int c = 0;
             if(i < 0) {
                     i = -i;
            }
            do      {
                    c++;
            }
            while((i /= 10) > 0);
            return c;
    }

بالتوفيق.

تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 13 مايو 2012 في 00:36

1
#4

يعطيكم العافيه الحلول كانت وافيه لكن اكثر حل استفدت منه هو بكتابه الداله لاحمد شنقيطي :)

لان لسى مادخلت في الفئات وغيرها

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

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

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

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

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