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

السؤال

نشر (معدل)

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

هل أستطيع قياس طول عدد صحيح في لغة سي بلس بلس

مثال: 25365 هنا عدد جميع الأرقام = 5 .

في هاذا المثال أريد أن اعرف عدد الارقام .

فهل هاذا ممكن في سي بلس بلس ؟

وإذا ممكن ماهي الطريقة؟

 

 

 

 

تم التعديل في بواسطة ROLA

Recommended Posts

  • 1
نشر

نعم يمكنك ذلك والحل بسيط أولًا عليكي تحويل العدد الصّحيح إلى سلسلة نصيّة String ومن ثَم حساب طول هذه السّلسلة النصيّة والذي يعطيكي طول العدد الصحيح:

1- تحويل العدد الصحيح لسلسة نصيّة باستدعاء الدالة ()to_string:

int myNumber = 25365;
	string str = to_string(myNumber);

2- حساب طول السّلسلة النصيّة باستخدام الدالة ()length:

int lengthofNumber = str.length();

3- طباعة طول العدد الصحيح على Console:

cout << lengthofNumber;

الطريقة كاملة مع تضمين الملفات اللازمة:


#include <iostream>
#include <string>
using namespace std;


int main(int argc, char* argv[])
{
	int myNumber = 25365;
	string str = to_string(myNumber);
	int lengthofNumber = str.length();
	cout << lengthofNumber;
	
	return 0;
}

الخرج:

calculateLengthofNumber.png.f39fc7e793d9

  • 0
نشر
بتاريخ 10 ساعات قال Lujain:

نعم يمكنك ذلك والحل بسيط أولًا عليكي تحويل العدد الصّحيح إلى سلسلة نصيّة String ومن ثَم حساب طول هذه السّلسلة النصيّة والذي يعطيكي طول العدد الصحيح:

1- تحويل العدد الصحيح لسلسة نصيّة باستدعاء الدالة ()to_string:


int myNumber = 25365;
	string str = to_string(myNumber);

2- حساب طول السّلسلة النصيّة باستخدام الدالة ()length:


int lengthofNumber = str.length();

3- طباعة طول العدد الصحيح على Console:


cout << lengthofNumber;

الطريقة كاملة مع تضمين الملفات اللازمة:



#include <iostream>
#include <string>
using namespace std;


int main(int argc, char* argv[])
{
	int myNumber = 25365;
	string str = to_string(myNumber);
	int lengthofNumber = str.length();
	cout << lengthofNumber;
	
	return 0;
}

الخرج:

calculateLengthofNumber.png.f39fc7e793d9

أها

يسلموو

الله يجزاكِ الخير يارب

طيب ينفع أطبع أخر رقم بإستخدام هاذه الطريقة صح ؟

  • 1
نشر

طبعًا يمكن ذلك باستخدام الدالة ()at حيث تقومين بتمرير رقم فهرس أو ترتيب العنصر ضمن السّلسلة النصيّة مثلًا لطباعة العنصر الأخير في السّلسلة "25365" اكتبي:

cout << str.at(str.length()-1);

حيث يكون ترتيب آخر عنصر هو طول السلسلة -1 وسيتم طباعة الرقم 5

لطباعة العنصر الثالث مثلًا سيكون ترتيبه 2 لذا نكتب:

	cout << str.at(2);

سيطبع الرقم 3

 

بالتوفيق :)

  • 0
نشر
بتاريخ 20 دقائق مضت قال Lujain:

طبعًا يمكن ذلك باستخدام الدالة ()at حيث تقومين بتمرير رقم فهرس أو ترتيب العنصر ضمن السّلسلة النصيّة مثلًا لطباعة العنصر الأخير في السّلسلة "25365" اكتبي:


cout << str.at(str.length()-1);

حيث يكون ترتيب آخر عنصر هو طول السلسلة -1 وسيتم طباعة الرقم 5

لطباعة العنصر الثالث مثلًا سيكون ترتيبه 2 لذا نكتب:


	cout << str.at(2);

سيطبع الرقم 3

 

بالتوفيق :)

أها

لكن أنا لم أدرس لحتى الآن الدالة ()at

أنا طالبة جامعية ^_^

هل يوجد هناك طريقة أخرى غير هاذه ؟

أسفة على الازعاج

  • 1
نشر (معدل)

استخدمي طريقة باقي القسمة modulus operator وذلك بحساب باقي قسمة العدد على 10 ليعطيكي رقم الآحاد كما في المثال التالي:

int myNumber = 25365;
	cout << myNumber % 10;

 

تم التعديل في بواسطة Lujain
  • 0
نشر
بتاريخ 22 ساعات قال Lujain:

استخدمي طريقة باقي القسمة modulus operator وذلك بحساب باقي قسمة العدد على 10 ليعطيكي رقم الآحاد كما في المثال التالي:


int myNumber = 25365;
	cout << myNumber % 10;

 

 يسلموو

الله يحقق لك أمانياتك يارب

وييسر أمرك يارب

:)

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...