1. برنامهای بنویسید که عددی را در مبنای a گرفته آن را به مبنای b ببرد. ( a,b Î{2,4,8,16,10} )![]()
1. برنامهای بنویسید که عددی را در مبنای a گرفته آن را به مبنای b ببرد. ( a,b Î{2,4,8,16,10} )![]()
n=3n+1
این خط مشکل داره. متغیر 3n تعریف نشده هستش. اگه منظورت 3 ضربدر در n هست باید بنویسی 3*n
به این صورتی که شما می گین فرق نداره. در واقع این توابع امنیت پایینی دارن بطور پیشفرض اجازه استفاده از اونها رو در برنامه نویسی ویندوز به شما نمیده. باید تکنیک خاصی برای استفاده از این توابع بکار برده بشه.
اما در حالت کلی فرق می کنه. هر ورژن ویژوال استدیو برای برنامه نویسی یک نوع ویندوز نوشته شده فلذا توابع و api هایی ممکنه توی ویندوزهای جدیدتر باشن که توی قبلی ها نیستن. پس اگه از این توابع استفاده کنی و برنامت روی ویندوز 7 مثلا نوشته شده باشه ممکنه روی ویندوز xp جواب نده. برای اینکه برنامه هایی که مینویسی توی همه ی ویندوزها اجرا بشه اگه ازهر ویژوال استدیویی استفاده می کنی توی تنظیمات پروژه برا ی کامپایل چند نکته رو رعایت کن. اول اینکه باید پروژه رو بصورت release کامپایل کنی. دوم باید بصورت MT کامپایل کنی و سوم اینکه کامپایلر ویژوال استدیو 2010 رو برای کامپایل استفاده کن.
حذفــــــــــ شود
Last edited by ho3in0861; 18-11-2013 at 01:36.
دلیل اینکه باید 2 تا return بزاریم چیه؟
من تازه دارم از تابع یه چیزایی یاد می گیرم، بخاطر تابع بودنه؟ چون آخر تابع باید برش گردونی به جای دیگه...
متوجه نشدم در کل
منظور از return اولی اینه که دیگه به کل عملیات تابع خاتمه بده و با برگرداندن یک مقدار از تابع خارج شو یعنی دیگه به آخر تابع نمی رسه و همون جا قطع میشه و در این حالت return دوم هم لازم نیست اما معمولا واسه اطمینان میشه اون رو گذاشت
شاید بهتر بود اینجوری یمذاشتم که قبل از خروج یه توقف هم داشته باشه:
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by rahnema1; 19-11-2013 at 06:42.
با زبان برنامه نویسی c سورس کدی میخوام که تعداد ارقام یک عدد رو تو یه MSGBOX نشون بده : مثلا عدد 1000 چهار رقمی است < لطفا کمک کنید
سلام
بنده 2 تا سوال داشتم..
فرق بین printf و cout چیه و چرا یه برنامه نویس ترجیح میده از یکی استفاده کنه از اونیکی نه؟ (یعنی کلا فرق Stdio.h با iostream چیه؟ دستوراتشون که همه یه کارو انجام میدن)
چطوری می تونم یه عدد رو به رشته تبدیل کنم؟
ممنون
cout کاری که انجام می ده این هستش که جریان داده ای (stream) رو که روبروی اون میاد به خروجی می فرسته در واقع روی stream کار انجام می ده. یکی از کارهایی که در c++ انجام می دن کار بر روی stream ها هستش. یعنی جریان داده ای رو بوجود می آرن بعدش از اون جریان برای عملیاتهای مختلف استفاده می کنن که ابتدایی ترینش همون فرستادن این جریان به خروجی هست. آما printf فقط داده رو روی خروجی چاپ می کنه. در واقع printf فقط یه تابع ساده هستش.
فرق دوم هم این هست که رویکرد شی گرا در عملیات های stream استفاده می شه (که مربوط به c++می باشد) اما printf یه تابع ابتدایی هستش. فلذا دستورات stream در cوجود ندارند و فقط توی c++ هستند.
در مورد تبدیل عدد به رشته یه سری توابع وجود دارن که البته بخاطر عمومی نبودن فکر کنم از پایه توضیح بدم چی کار کنید بهتر باشه(اگه این توابع رو خواستین یه سرچ کنید مثلا int to string function in c++) :
اول یه ارایه کاراکتری (رشته) به تعداد ارقام عدد می سازیم. بعد هر رقم عدد رو با استفاده از تقسیم صحیح اون بر 10 به توان n بیرون می کشیم (از رقم با بزرگترین ارزش شروع می کنیم) حالا عدد48 (کد اسکی رقم 0) رو با اون رقم جمع کرده و به ترتیب هر خانه آرایه رشته رو برابر عدد بدست آمده قرار می دهیم. حالا آرایه ما برابر رشته ای عددی است.
خیلی راحته. اول عدد مورد نظر رو بر 10 به توان n تقسیم صحیح می کنیم. و در هر مرحله n رو یک واحد اضافه می کنیم تا جایی که نتیجه تقسیم برابر 1 بشه. اون وقت n+1 نشان دهنده ارقام عدد ماست. بعدش یه هندل از msg box درست کرده و n+1 رو به اون هندل ارسال می کنیم.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)