-
چاپ ارقام مرتبه زوج و فرد عدد ورودی
برنامه ای که عددی را از کاربر دریافت کرده و ارقام آن را چاپ کند و همچنین ارقام مرتبه زوج و فرد آنرا مشخص کند .
خودم واسش یه سورس سر هم کرده ام . فقط تو مشخص کردن مرتبه زوج و فرد مونده ام
البته راهش رو میدونم ولی نمیدونم باید کجای کدوم حلقه باید استفاده شه .
#include <iostream.h>
#include <conio.h>
int main()
{
clrscr();
long num,quot=1,denom,rest; /*quot=quotient=kharej gesmat
denom=denominator=magsum aleyh
rest=bagi mande*/
cout<<"Please enter a number \n";
cin>>num;
denom=num;
while(quot!=0)
{
rest=denom%10;
quot=denom/10;
denom=quot;
cout<<rest<<"\n";
}
getch();
return 0;
{
این سورس فقط ارقام رو چاپ میکنه .
باید باقیمانده ارقام بر 2 رو مشخص کنم تا زوج و فرد بودنش مشخص شه . فقط موندم کجا باید بذارمش !!!
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
ببخشيد منظورتون از مرتبه زوج و فرد چيه؟
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
بهتر نیست ورودی رو به صورت استرینگ از کاربر بگیرید؟! در این صورت یک در میون رقم مرتبه زوج و فرد داریم.
در غیر این صورت از یک کانتر (با مقدار اولیه صفر) استفاده کنید که درون حلفه هربار یک واحد افزایش پیدا کنه. اگر باقیمانده ی کانتر بر دو صفر بود، یعنی یکان [ده به توان
صفر] و صدگان [ده به توان
دو] و ... بنویسه زوج وگرنه فرد (مثل هزارگان که میشه ده به توان
سه و از مرتبه فرد هست). همچین چیزی میشه:
cout<<"Please enter a number \n";
cin>>num;
denom=num;
for (unsigned int count=0; quot!=0; count++)
{
rest=denom%10;
quot=denom/10;
denom=quot;
if (count%2)
cout<< "Odd:\t" << rest<<"\n";
else
cout<< "Even:\t" << rest<<"\n";
}
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
منم يه چيزي اضافه كنم.شما چرا اينقدر لقمه رو پيچوندين؟؟؟:لبخند:
يه كد چهار خطي شما در واقع با دو خط هم مي شد نوشت:لبخند:
for(int i=1;num!=0;i++)
{
cout<<num%10<<"\t";
num=num/10;
if((i%2)==0)
cout<<"zoj"<<endl;
else
cout<<"fard"<<endl;
}
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
کد دو خطی شما را هم با یک خط میتوان نوشت.
for(int i=1;num!=0;i++, num=num/10)
cout<<num%10<<"\t"<<((i%2)==0 ? "zoj": "Fard")<<"\n";
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
البته تقصیر از منه که اول کار نگفتم .
بنده رشته ام مدیریت هست .
ولی به خاطر علاقه ام به برنامه نویسی خودم دارم دنبالش میکنم .
البته قبلاً کامپیوتر خوندم . ولی جون دیدم نه بازار کار داره و نه آینده خوبی . البته برای یه خانوم . واسه همین رفتم به دنبال علاقه دیگرم یعنی مدیریت .
الان هم هنوز یه مبتدی هستم .
تا آرایه های یک بعدی پیش رفته ام .
از دووستان هم ممنون که یاریم میکنند .
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
نقل قول:
نوشته شده توسط
queen-mm
ببخشيد منظورتون از مرتبه زوج و فرد چيه؟
اگه یه عدد مثل 1245637405 رو در نظر بگیرید و از سمت راست ارقامش رو شماره گذاری کنید و شماره گذاری هم از صفر شروع شه مرتبه ش اینجوری میشه .
5 و 4 و 3 و 5 و 2 مرتبه زوج هستند و بقیه فرد .
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
unsigned int count=0
unsigned یعنی چی ؟ کاربردش چیه ؟
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
نقل قول:
نوشته شده توسط
#Elahe#
unsigned int count=0
unsigned یعنی چی ؟ کاربردش چیه ؟
یعنی بدون علامت
unsigned int یعنی اینتیجر بدون علامت یا عدد صحیح زوج . وقتی که احتیاجی به استفاده از عدد منفی ندارید متغیر را از نوع اعداد زوج یا بدون علامت تعریف می کنید.
دامنه int : از 32768- تا 32767
دامنه unsined int : از 0 تا 65535
کاربرد: افزایش دامنه زوج اعداد ، استفاده بهینه از انواع داده ای.
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
مرسی
پس من اگه بخام یه عدد بزرگ تعریف کنم حتی میشه از
unsigned long
هم استفاده کنم که دامنه رو خیلی بزرگ میکنه تو اعداد مثبت .
من واسه فاکتوریل یه برنامه نوشته بودم که بیش از فکر کنم 12 رقم رو چاپ نمیکرد . با این روش میشه ؟
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
نقل قول:
نوشته شده توسط
#Elahe#
مرسی
پس من اگه بخام یه عدد بزرگ تعریف کنم حتی میشه از
unsigned long
هم استفاده کنم که دامنه رو خیلی بزرگ میکنه تو اعداد مثبت .
البته دامنه انواع استاندارد ++C به سیستم عامل هم بستگی داره . در سیستم عامل ویندوز (32 بیتی) وقتی شما یک متغیر از نوع int تعریف می کنید منظور همان int32__ هست که چهار بایت فضا اشغال میکنه و دامنه اون از 2,147,483,648- تا 2,147,483,647 هست .
و اگر نیاز به متغیر هایی با دامنه بزرگتر دارید می تونید long long ( معادل int64__ ) و unsigned long long ( معادل unsigned __int64 ) استفاده کنید.
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
long یا long long ؟
من که تا حالا long long ندیدم !!
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
نقل قول:
نوشته شده توسط
#Elahe#
long یا long long ؟
من که تا حالا long long ندیدم !!
بله ! long long
من هم تا دیشب ندیده بودم اما اگر به مستندات ویژوال استودیو مراجعه کنید پیدا می کنید.
// Sample Code
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
long long num;
cout << "Enter num: ";
cin >> num;
cout << "\nnum is: " << num;
_getch();
return 0;
}
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
یادآوری
اینکه اندازه و یا هر گونه عمل محاسباتی و غیر محاسباتی به سیستم عامل ارتباط ندارد بلکه کامپایلر هست که محدوده این نوع تعریف را مشخص میکند.
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
نقل قول:
نوشته شده توسط
tdkhakpur
یادآوری
اینکه اندازه و یا هر گونه عمل محاسباتی و غیر محاسباتی به سیستم عامل ارتباط ندارد بلکه کامپایلر هست که محدوده این نوع تعریف را مشخص میکند.
صحیح می فرمایید، من نتونستم منظورم را درست برسونم.
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
اتفاقاً منظور clover رو هم درک کردم .
با کمی منطق و استدلال هم هر کی میتونه به این نتیجه برسه !
ممنون
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
نقل قول:
نوشته شده توسط
tdkhakpur
کد دو خطی شما را هم با یک خط میتوان نوشت.
for(int i=1;num!=0;i++, num=num/10)
cout<<num%10<<"\t"<<((i%2)==0 ? "zoj": "Fard")<<"\n";
ببخشين دير جواب مي دم.ولي اگه پاسخم رو كامل مي خوندين من نمي خواستم به ايشون كد نويسي ياد بدم.مي خواستم بدونن لازم نيست همش اين متغير رو توي يكي ديگه بريزه!اينطوري ممكنه قاطي كنه.
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
و آخر سر هم من که سوال پرسیده بودم متوجه نشدم نتیجه این کل کل شما دوستان به کجا رسید و جواب آخر من چی شد !!!
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
اگه منظورتون فاكتوريله؟جوابش يه جستجو هست.الان كه من تو همين سايت اين كار رو انجام دادم چندين تاپيك بود.اگه منظورتون يه چيز ديگس دوباره بپرسين.
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
نقل قول:
نوشته شده توسط
queen-mm
اگه منظورتون فاكتوريله؟جوابش يه جستجو هست.الان كه من تو همين سايت اين كار رو انجام دادم چندين تاپيك بود.اگه منظورتون يه چيز ديگس دوباره بپرسين.
فاکتوریل که مشکلی نیست .
سوالم رو هم اول همین تایپیک به عرض رسونده ام .
اگه اشکالی نداره کد پست اولم رو بازنویسی کنید به طوری که ارقام عدد ورودی رو و سپس ارقام مرتبه زوج و بعد از آن ارقام مرتبه فرد رو چاپ کنه .
ممنون
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
int main()
{
long a, tmp, RtnVal[2][15];
int cZoj=0, cFard=0;
cin>>a;
while( a!=0)
{
tmp = a%10;
if( (tmp%2)==0 )
RtnVal[0][cZoj++] = tmp;
else
RtnVal[1][cFard++] = tmp;
a/=10;
}
cout<<"\n adade zoj = ";
for( int i=0; i<cZoj; i++ )
cout<<" "<< RtnVal[0][i];
cout<<"\n adade Fard = ";
for( int i=0; i<cFard; i++ )
cout<<" "<< RtnVal[1][i];
getch();
return 0;
}
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
جناب tdkhakpur عزیز ، هم ولایتی محترم ، مثل اینکه شما اشتباه متوجه شدید صورت مسئله رو !
مرتبه زوج و فرد با اینی که شما نوشتید فرق داره .
ولی باز هم تشکر میکنم که لطف کردید رو مسئله بنده وقت گذاشتید .
الیز آغریماسین و ساغ یاشیاسیز
-
نقل قول: چاپ ارقام مرتبه زوج و فرد عدد ورودی
شرمنده.
این هم نوع دوم.
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
int main()
{
long a, tmp, RtnVal[2][15];
int cZoj=0, cFard=0, c=0;
cin>>a;
while( a!=0)
{
tmp = a%10;
if( (c%2)==0 )
RtnVal[0][cZoj++] = tmp;
else
RtnVal[1][cFard++] = tmp;
a/=10;
c ++;
}
cout<<"\n adade radeye zoj = ";
for( int i=0; i<cZoj; i++ )
cout<<" "<< RtnVal[0][i];
cout<<"\n adade radeye Fard = ";
for( int i=0; i<cFard; i++ )
cout<<" "<< RtnVal[1][i];
getch();
return 0;
}