PDA

View Full Version : سوال: چاپ مجموع ارقام عدد ورودی



#Elahe#
جمعه 06 آذر 1388, 11:59 صبح
این کدی که نوشتم تعداد ارقام عدد ورودی رو چاپ میکنه .



#include<iostream.h>
#include<conio.h>
int main()
{
clrscr();

int n,i=0,x;
cout<<"Enter a number";
cin>>n;
while(n!=0)
{
n=n/10;
i++;
}
cout<<i;
cin>>x;
return 0;
}
حالا میخام مجموع این ارقام رو هم چاپ کنه .
البته راهش رو میدونم . ولی جای دقیق کد رو نمیدونم باید کجا بذارم .
اگه از دوستان کسی خواست کمک کنه ، لطف کنه همین کد خودم رو ویرایش کنه تو یه پست دیگه
پیشاپیش تشکر میکنم .

cccccccccc
جمعه 06 آذر 1388, 12:14 عصر
سلام
قبل از n=n/10

s+=n%10

#Elahe#
جمعه 06 آذر 1388, 13:53 عصر
#include<iostream.h>
#include<conio.h>
int main()
{
clrscr();

int n,i=0,x,sum=0;
cout<<"Enter a number";
cin>>n;
while(n!=0)
{
n=n/10;
sum+=n;
i++;
}
cout<<i;
cout<<sum;
cin>>x;
return 0;
}


ممنون دوست عزیز .
خودم اینجوری ویرایش کردم . ولی هنوز کامپایل نکردم !!

queen-mm
شنبه 07 آذر 1388, 13:20 عصر
ببخشيد شما با اين كد مي خواين مجموع ارقام رو چاپ كنه؟ولي من احساس مي كنم كاملا اشتباهه.درستش اين نيست؟



int n,sum=0,m;
cout<<"Enter a number";
cin>>n;
while(n)
{
m=n%10;
sum+=m;
n=n/10;
}
cout<<sum;

#Elahe#
شنبه 07 آذر 1388, 14:00 عصر
بله دقیقا! حق با شماست
من اشتباهی به جای % ، / زدم .
چون واسه بیرون کشیدن رقمهای یک عدد باید اون عدد رو بر 10 تقسیم کنیم تا رقمها یکی یکی تو باقیمانده ظاهر شوند . واسه جمع زدن ارقام عد ورودی هم میونیم این باقیمانده ها رو باهم جمع بزنیم .
البته تو خود برنامه اینها رو ویرایش کرده ام !
ممنون

Salar Ashgi
یک شنبه 08 آذر 1388, 10:51 صبح
برای محاسبه مجموع ارقام یک عدد ، از تابع بازگشتی نیز میتوان استفاده کرد :



int digit_sum(int n){
if(n<10)
return n;
else
return n%10+digit_sum(n/10);
}

#Elahe#
یک شنبه 08 آذر 1388, 11:05 صبح
ولی آقا مدیر من هنوز خیلی راه دارم به اینها برسم . به توابع بازگشتی :دی