بالاخره الگوریتم برنامه هشت وزیر رو پیدا کردم و نوشتمش. حتما همه با این برنامه آشنایی دارید.
فقط این برنامه یه کم با اسمش فرق می کنه. شما ابتدا ضلع صفحه و سپس تعداد وزیر ها رو وارد می کنید و برنامه با کمک تابع بازگشتی ، تمام حالات قرار گرفتن اونها به شکلی که همدیگر رو تهدید نکنن ، نشون میده.
دانلود برنامه هشت وزیر به همراه فایل اجرایی حجم : ۱۳۰ کیلوبایت
مهسا خانم ، خیلی ممنونم. در ضمن من در مورد سازمانهای مجازی نمی نویسم.
آقا مصطفی و کیانای عزیز ، این برنامه از عهده من بر نمی آد.
ببخشید رویا خانم ، من خیلی دیر نظرتون رو دیدم.
هدا خانم ، اگر همچین جزوه ای پیدا کنم حتما می فرستم.
سیمه خانم ، شما رو ادد می کنم.
شیدا خانم ، من به زبان سی زیاد وارد نیستم.
مریم خانم ، میدونم که دیگه دیره ، ولی برنامه روی وبلاگ بود.
زهرا خانم ، هر وقت بتونم برنامه رو بنویسم براتون میل می کنم.
afagh عزیز ، این برنامه با عنوان عدد آیینه ای در وبلاگ هست.
چشم علی ،آقا حتما.
ممنون جناب ویروس.
مهرنوش خانم ، برنامه ای که می خواهید رو در نظرات اعلام کنید یا به من میل کنید.
آقا/خانم کاتبی ، برای آشنایی بیشتر با شبیه سازی فوتبال ، از جزوات آموزشی (که بیشتر انگلیسی هستند) یا گروه های مربوطه یاهو استفاده کنید.
ندا خانم ، واقعا ممنونم.
آقا سامان ، فکر می کنم که اون لینک مشکلی نداره.
حریر خانم ، یاد گرفتن زبان سی پلاس پلاس از روی کتاب های آموزشی هم چندان ساده نیست ، چه برسه به وبلاگ من که چند تا فایل آموزشی بیشتر نداره.
راحله خانم ، من زبان اسمبلی بلد نیستم.
امیر آقا ، سورس کامپایلر من ارور نمی گیره.
آسمان خانم ، اولا که رمز موفقیت خاصی ندارم ، شاید پرکار بودن ، فعال بودن ، تلاش بسیار ، باهوش بودن و بهترین بودن ... البته که شوخی می کنم. فکر می کنم هر کس دیگه ای هم که دو سال سی پلاس پلاس کار می کرد ، تسلط لازم روی این زبان رو پیدا می کرد. فقط یه کم وقت می گیره. در مورد مربع ناقص هم هنوز نتونستم راهی پیدا کنم.
یار وبلاگی و ریحانه خانم ، ممنون که هنوز هم سر می زنید.
امیر آقا ، آقا پژمان و سید جمال موسوی ، من شما رو لینک کردم.
شیدا خانم ، باید بگم که من در مورد زبان سی اطلاعات چندانی ندارم.
آقا کامی و آقا مصطفی ، نوشتن برنامه ای که خواسته بودید ، از عهده من بر نمی آد.
شادی خانم ، هنگامه خانم ، آقا احسان
آقا رضا ، با کمی تغییر برنامه فکر بکر می تونید برنامه ای که خواستید رو بنویسید.
آقا سالار ، به فرومتون سر زدم.
پریسا خانم ، متاسفم که دیر نظرتون رو دیدم.
آقا علیرضا ، این هم برنامه ای که خواسته بودید.
ممنون آقا محمد.
شاید تا بحال برای شما مشکلی پیش اومده باشه که نیاز داشته باشید که یک فایل رو به چند تا فایل کوچکتر تقسیم کنید. مثلا فیلمی که در قالب یک فایل داخل دی وی دی است رو روی چند سی دی بریزید: برای اینکار نیاز دارید که ابتدا فیلم شما به چند قسمت کوچکتر تقسیم شه و بعد هر قسمت رو روی یک سی دی بریزید.
اینبار برنامه ای به کمک File* ها نوشتم که بتونن این کار رو برای شما انجام بدن.این برنامه ، نام فایل قبلی ، نام فایل جدید، پسوند فایل جدید و یک ورودی از کاربر دریافت می کنه که همون تعداد فایل های جدیده، این عدد رو n در نظر می گیریم. بعد فایل ورودی ، که باید در کنار فایل اجرایی برنامه باشه رو به n قسمت مساوی تقسیم می کنه. به عنوان مثال اگر اسم فایل شما music.mp3 هست و می خواهید آنرا به 3 قسمت مساوی با نام musicnew.mp3 بریزید ، ابتدا ، در قسمت source file ، عبارت music.mp3 را وارد کنید.بعد در قسمت destination file ، عبارت musicnew را وارد کنید.سپس برای postfix ، عبارت mp3 را وارد کنید.بعد یک عدد از شما خواسته می شود. شما عدد 3 را وارد کنید و منتظر بمانید. پس از لحظه ای ، برنامه 3 فایل با نامهای musicnew(01).mp3 ، musicnew(00).mp3 و musicnew(02).mp3 را در کنار فایل قبلی ایجاد می کند که هر کدام ، یک سوم فایل قبلی را ، که مثلا آهنگ یا فیلم می باشد ، شامل می باشد.
دانلود برنامه تقسیم کننده فایل (File Separator) به همراه فایل اجرایی حجم : 129 کیلوبایت
با سلام دوباره به همه دوستان
این بار برنامه پیانوی مجازی رو براتون آماده کردم ، این برنامه ، دکمه های صفحه کلید شما رو به دکمه های پیانو تبدیل می کنه و با زدن هر دکمه ، صدایی پخش می شه. این برنامه که از یک ساختار بسیاد ساده switch و case تبعیت میکنه ، تحت داس نوشته شده و در کامپایلر Turbo C++ 3.0 DOS کامپایل شده است. به همین دلیل ، من فایل اجرایی این برنامه رو همراه با سورس اون در اختیار شما قرار میدم.با زدن هر دکمه ، آوایی خاص از بلندگوی کامپیوتر شما خارج می شود. با نگهداشتن کلید Shift و زدن دکمه ها ، فرکانس صدا بیشتر می شود. به کمک این برنامه ، می توانید آهنگ هایی متفاوت و صداهایی موزون با کامپیوتر خود ایجاد کنید.
دانلود برنامه پیانوی مجازی - Virtual Piano به همراه فایل اجرایی حجم : ۱۶ کیلوبایت
با سلام به همه دوستان
می دونید که دیگه امتحانات میان ترم شروع و شده و امتحانات نهایی هم نزدیکه ، و من نمی تونم زیاد وبلاگ رو آپ کنم ، ولی چند تا برنامه نسبتا جالب نوشتم که در چند پست برای دانلود می ذارم.
اولین برنامه ، برنامه رسم منحنی است. اول از همه باید به دوستان بگم که این برنامه ، با برنامه قبلی خیلی فرق دارد و کارآمد تر هست. نوع دریافت ضابطه منحنی عوض شده ، و همینطور برنامه جدید ، علامت های + ، - ، * ، / ، ^ ، () ، [ ] ، و || ( به ترتیب : جمع ، تفریق ، ضرب ، تقسیم ، توان ، پرانتز ، کروشه و قدرمطلق ) رو پشتیبانی می کنه. این برنامه ، توانایی رسم مجموع دو تابع رو هم داره.
روش کار برنامه بدین ترتیب است که شما در صورت خواستن رسم یک نمودار ، وارد قسمت اول می شوید ، سپس ضابطه تابع مورد نظر رو با استفاده از علائم یاد شده و اعداد و کاراکتر x (بصورت کوچک) وارد می کنید ، سپس مینیمم و مازیمم دامنه رسم را مشخص می کنید. بعد با فشردن دکمه Enter ، برنامه نمودار منحنی وارد شده را رسم می کند(در صورت نیاز به رسم تابع در دامنه R ، به عنوان عدد مینیمم ، 131 را وارد کنید). به عنوان مثال ، دستورات زیر ، نمودار منحنی x|-2| را در اعداد حقیقی رسم می کند:
x|-2|
131
همچنین دستور زیر ، نمودار تابع ریشه دوم x را در بازه (0و16) رسم می کند:
(x^(1/2
0
16
نکته مهم: این برنامه در ورودی خود ، توانایی دریافت اعداد اعشاری را ندارد ، پس همانطور که در مثال بالا ملاحظه می کنید ، می بایست برای فهماندن عدد یک دوم به برنامه ، آنرا جدا و داخل پرانتز قرار دهیم.
نکته مهم: نکته مهم دیگر اینست که در ورودی این برنامه ، تقدم و اولویت تعریف نشده است و اعمال از سمت چپ به راست صورت می گیرد ، پس در صورتی که خواستید قسمتی با اولویت انجام شود ، آنرا داخل پرانتز قرار دهید. به عنوان مثال ، ورودی یک بعلاوه 2x ،نمودار منحنی 3x را نمایش میدهد و آنرا باید بصورت یک بعلاوه (2x) نوشت.
نکته مهم: یک نکته مهم دیگر این است که این برنامه ، در استفاده از علامت های پرانتز و کروشه و قدرمطلق ، اولین علامت را با آخرین در نظر گرفته و حاصل میان آندو را محاسبه می کند ، پس باید برای رم منحنی تابعی مانند |x+1|+|x-1| ، آنرا بصورت |x-1|) + |x+1|) نوشت.
راه دیگر برای نمایش نمودار تابع بالا ، استفاده از ویژگی دوم برنامه ، یعنی امکان نمایش نمودار مجموع دو تابع است. برای اجرای این کار ، به قسمت دوم برنامه وارد شده و ابتدا تعداد توابع موجود ، که در مثال بالا ۲ است ، را وارد کنید ، سپس ضابطه توابع را یکی یکی به برنامه بدهید. به کمک این ویژگی ، می توانید مجموع تعداد زیادی از توابع را رسم کنید ، مانند تابع زیر:
|x-1| + |x+1| + |x| + |x-2|
این برنامه توانایی رسم منحنی هایی از قبیل x^x و [x^[x را دارد.
دانلود برنامه رسم منحنی - Easy Diagram Drawer به همراه فایل اجرایی حجم: 52 کیلوبایت
همونطور که از اسم پست پیداست ، اینبار برنامه رسم نمودار چند جمله ای ها به زبان سی پلاس پلاس که -از نظر خودم- واقعا جاش بین برنامه های توی اینترنت خالی بود رو نوشتم. این برنامه ساختار خیلی ساده ای داره، و حتما به نظر دوستانی که برنامه کلاس چند جمله ای رو دانلود کردند ، این برنامه کمی آشناست. من این برنامه رو به کمک کلاس چند جمله ای نوشتم. طرز کار با این برنامه هم راحته. در صفحه ابتدای برنامه ، شما باید عدد 1 را وارد کنید تا به قسمت رسم نمودار بروید.در این قسمت باید شما فضایی که تابع می خواهد در آن رسم شود ( ۱=سطح گسترده ۲=متوسط ۳=کوچک ) و سپس کیفیت رسم رو انتخاب کنید.سپس تعداد جملات چند جمله ای رو وارد کرده و سپس به ترتیب پایه ها و توان های جمله های اول تا آخر را وارد کنید.
به عنوان مثال برای رسم منحنی y=x2-2x+1 ، پس از انتخاب فضا و کیفیت ، تعداد جملات که 3 می باشد را وارد کنید. سپس ابتدا ضریب x2 ، یعنی 1 ، و سپس توان آن یعنی 2 را وارد کنید. بعد بع ترتیب اعداد 2 ، 1 ، 1 و 0 را وارد کنید و کلید Enter را فشار دهید تا برنامه منحنی را برای شما رسم کند.
نمودار y=x رسم شده توسط این برنامه(با کمی تغییر و کاهش اندازه):

لازم می دونم که عرض کنم این برنامه توانایی رسم توابعی مانند x-1 رو هم داره ولی در مورد توابع رادیکالی ، مثل تابع x1/5 ، چون توان بصورت ۰.۲ وارد می شود ، تابع x0.2 رسم می شود و این تابع در x های منفی تعریف و رسم نمی شود. در ضمن این برنامه توانایی رسم توابع سینوسی ، کسینوسی ، تانژانت و ... رو نداره ، اما من در حال نشوتن یه برنامه جدید هستم که توانایی رسم توابع سینوس ، کسینوس ، تانژانت ، کتانژانت ، لگاریتم با مبنای ۱۰ و e (عدد نپر)( sin , cos , tan , cot , log10 , ln ) رو داشته باشه. به محض اینکه این برنامه آماده بشه در وبلاگ و برای دانلود می ذارم.
دانلود برنامه رسم نمودار توابع چند جمله ای
با سلام به دوستان
اینبار برنامه کلاس اعداد مختلط رو که دوستان زیادی درخواست این برنامه رو کرده بودند ، آماده کردم؛ کلاس خیلی ساده و در عین حال کاربردی هست. همونطور که خیلی از شما دوستان می دونید ، اعداد مختطل به بردار ها شباهت زیادی دارند ، به خاطر این تعجب نکنید که این کلاس خیلی شبیه به کلاس بردار ها نوشته شده است.
توابع :
- تابع getReal و getImaginary که به ترتیب قسمت حقیقی و قسمت موهومی عدد مختلط رو بر می گردانند.
- تابع setCmp که دو ورودی دریافت می کند و قسمت حقیقی را برابر ورودی اول و قسمت موهومی را برابر ورودی دوم قرار می دهد.
- تابع print برای چاپ عدد مختلط
عملگرها:
- عملگر های درج در جریان و استخراج از جریان ( بصورت استاندارد (x,y) )
- عملگرهای + ، - و * برای جمع ، تفریق و ضرب دو عدد مختلط
- عملگر های برابری (==) و نابرابری(=!)
- عملگر =
دانلود برنامه کلاس اعداد مختلط به همراه فایل اجرایی - نمونه ساده
اینبار برنامه یافتن ب.م.م دو عدد رو براتون آماده کردم ، البته به کمک یک تابع بازگشتی. می دانیم که ب.م.م دو عدد x و y با کمک تابع بازگشتی ، اگر y برابر صفر باشد برابر x و در غیر اینصورت برابر ب.م.م دو عدد y و x%y است؛ به کمک همین الگوریتم ، برنامه ساده زیر رو نوشتم.
با سلام به همگی دوستان
برنامه برج هانوی رو با کمک برنامه جایگشت n تایی nشی نوشتم. این برنامه بدون استفاده از تابع بازگشتی برای حل مساله برجها ، 720 حالت مختلف را بررسی کرده و کمترین تعداد مراحل لازم برای حل مساله را پیدا کرده و مراحل را چاپ می کند.

اول ار همه لازم می دونم که بگم دوستان جواب نظراتشون رو در پست هفتاد و یکم ببینند.
اینبار برنامه کد مورس رو براتون آماده کردم. این برنامه ، توانایی تبدیل کد مورس به متن و متن به مد مورس رو داراست. روند ساده ای رو طی می کنه و براحتی می شه ازش استفاده کرد. جدول کد مورس حروف و اعداد رو در زیر ملاحظه کنید:

البته لازم می دونم که بگم برنامه ای که من نوشتم فقط توانایی تبدیل حروف انگلیسی و اعداد رو به کد مورس یا بالعکس داره و توانایی تبدیل سایر کاراکتر ها رو نداره.
جایگشت های n تایی n شیء
با سلامی دوباره خدمت همه دوستان
این بار برنامه چاپ جایگشت های n شی رو بصورت یک تابع بازگشتی براتون نوشتم. همونطور که خیلی از شما دوستان می دونید ، جایگشت های n تایی n شی یعنی حالات مختلف قرار گیری n شی در کنار هم در یک صف . به عنوان مثال جایگشت های سه تایی اشیاء a و b و c را به شکل زیر می توان نشان داد:
abc , acb , bac , bca , cab , cba
من برنامه ای نوشتم که عدد n رو از ورودی خوانده و تمامی حالات قرار گیری اعداد 1 تا n رو چاپ کنه. برای نوشتن این برنامه بصورت یک تابع بازگشتی ، باید دقت کرد حالات قرار گیری n شی برابر مجموع حالات قرار گیری یک شی خاص در کنار حالات قرار گیری n-1 شی دیگر است. به عنوان مثال می خواهیم حالات قرار گیری اعداد 1 و 2 و 3 که به ترتیب در یک آرایه قرار دارند را چاپ کنیم ، برای اینکار ، ابتدا 1 را که اولین عنصر آرایه است ، عدد خاص در نظر گرفته و تمامی حالات قرارگیری 2 و 3 در کنار هم را می نویسیم ، سپس 1 را در کنار آنها قرار می دهیم:
23 => 123
32 => 132
سپس جای عدد 2 را با عدد یک عوض کرده و اینبار عدد 2 را که اولین عنصر آرایه است ، به عنوان عدد خاص در نظر می گیریم. حال تمامی حالات قرار گیری اعداد 1 و 3 که سایر عناصر آرایه هستند را نوشته و عدد 2 را در کنار آنها قرار می دهیم:
13 => 213
31 => 231
سپس آرایه را به شکل اول در می آوریم ( یعنی عدد 1 را در اولین عنصر قرار می دهیم ) و سپس عدد 3 را به اول آرایه منتقل کرده و عدد خاص در نظر می گیریم و پس از نوشتن تمامی حالات قرار گیری اعداد 1 و 2 در کنار هم ، عدد 3 را در ابتدای آنها می نویسیم:
12 => 312
21 => 321
برنامه ای که برای چاپ کردن حالات مختلف قرار گیری اعداد 1 تا n نوشتم ، از الگوریتم بالا پیروی می کند. این برنامه از 3 تابع Jaygasht ، Set2 و SetAndPrint تشکیل شده است. لازم به ذکر است این برنامه در یک سیستم با امکاناتی در حد متوسط ، تمامی حالات کنار هم قرار گرفتن اعداد 1 تا 8 که برابر 40320 حالت مختلف است را در زمانی بین 35 تا 40 ثانیه و حالات مختلف قرارگیری اعداد 1 تا 9 در کنار هم ( 362880 حالت ) را در حدود 380 ثانبه چاپ می کند ، ولی اگر این کار بدون استفاده از توابع Set2 و SetAndPrint انجام شود ، این زمان بیش از 600 برابر می شود!
یک نمونه از کاربرد های این برنامه را در پست هشتاد و یکم ملاحظه کنید.