بسم الله الرحمن الرحيم
عندي سؤال هو:
كيف يمكن تقسيم الأعداد رياضياً إلى أحاد وعشرات ومئات وألوف وهكذا، بحيث يستقبل البرنامج مثلاً العدد:
5678
ويخرجه كـ
5
6
7
8
أريد الجواب لو سمحتم دون استخدام دوال خارجية.
وشكراً
بسم الله الرحمن الرحيم
عندي سؤال هو:
كيف يمكن تقسيم الأعداد رياضياً إلى أحاد وعشرات ومئات وألوف وهكذا، بحيث يستقبل البرنامج مثلاً العدد:
5678
ويخرجه كـ
5
6
7
8
أريد الجواب لو سمحتم دون استخدام دوال خارجية.
وشكراً
بأخد الباقي من قسمة العدد على عشرة ثم تكرار العملية على العدد الناتج
لكن بهذه الطريقة تخرج الأعداد بعكس الترتيب الذي تريده لذلك يمكنك استخدام Recursion.
Iهذا الرابط به خواريزمية تفكيك الأعداد رياضيا إلى آحاد وعشرات و مئات
سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين
يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.
اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.
الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.
إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.
و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله
أخوكم مراد
السلام عليكم
انظر يا أخى الى هذا الكود
int main(int argc, char *argv[])
{
int value = 5614, num1 , num2 , num3 , num4;
num1= value / 1000;
num2 =(value / 100)%10;
num3 =(value / 10)%10;
num4 =value % 10;
cout<<num1 <<"\n"<< num2<< "\n" <<num3 <<"\n"<< num4<<endl;
system("PAUSE");
return 0;
}شكرا جزيلاً لكم على سرعة الرد.
لقد وجدت طريقة أخرى باستخدام تكرار while:
// the purpose of the program to enter number (here it's less than
// 1000) then put every number in line alone
// Example: If you enter 5678 the output will be:
// 5
// 6
// 7
// 8
#include<iostream.h>
void main()
{
int num=0,times=0;
cout<<"Please enter number less than 10000:";
cin>>num;
while(num>1000)
{
num -= 1000;
times++;
}
cout<<times<<endl;
times = 0;
while(num>100)
{
num -= 100;
times++;
}
cout<<times<<endl;
times = 0;
while(num>10)
{
num -=10;
times++;
}
cout<<times<<endl<<num<<endl;
cin>>times;
}لكن بالتأكيد الطرق السابقة أفضل بكثير وأقصر ;)
هذا الموضوع مغلق.