دانلود برنامه هزارتو (ماز - maze solver )

سلامی دوباره به همه برنامه نویسان

پس از مدت ها با برنامه ای که حدود ۱ سال و نیم پیش قولش رو دادم آپ کردم وب رو.
برنامه حل کننده ماز.

تو این برنامه کاراکتر 'S' (دقت شود که با حرف بزرگ نوشته شود) به معنی نقطه شروع ، 'E' به معنی نقطه پایان ، کاراکتر نقطه '.' به مفهوم راه و کاراکتر '#' به معنی دیوار می باشند.

برنامه به 2 دو صورت نوشته شده ، نوع اول راه یافته شده از نقطه شروع به نقطه پایان را با کاراکتر های x نمایش می دهد ، و نوع دوم این مسیر را به کمک فلش نشان می دهد تا جهت حرکت نیز معلوم باشد؛
ضمنا این برنامه تمامی راه های یافته شده و تعداد راه های ممکن برای رفتن از خانه شروع به خانه پایان را نشان می دهد.

 

دانلود برنامه Maze Solver - حجم 130 کیلوبایت به همراه فایل اجرایی

دانلود برنامه maze solver with arros - حجم 130 کیلوبایت به همراه فایل اجرایی

 

امیدوارم دوباره بتونم وبلاگ رو آپ کنم.

سربلند و پیروز باشید.
سینا

بازم سلام

بازم سلام با بازم کمی تاخیر

از همه دوستانی که تو این مدت نظر دادن و نظرشون رو جواب ندادم ، از همه اونایی که برنامه خواستن و ننوشتم (البته به جز برنامه لیست دانشجویان که پروژه ترمتون بود!) ، از همه اونایی که توی 4shared نظر داده بودن و جوابشون رو ندادم و از اون دوستانی که ایمیل فرستاده بودن و برنامه خواسته بودن و برنامشون رو ننوشتم عذر خواهی می کنم.

دوستان میدونین که دانشگاهم از پس فردا شروع میشه و دیگه دل و دماغ برنامه نوشتن هم ندارم (البته برنامه ماز یا همون هزارتو - maze  رو براتون نوشتم شاید بزارم.)

بخاطر همین خواستم از دوستانی که به برنامه نویسی سی پلاس پلاس علاقه دارن و آشنایی لازم رو هم دارن دعوت کنم که در ساخت این وبلاگ منو یاری کنن. هر کدوم از دوستان که علاقه به همکاری دارن به ایمیل TIM30F3V01U7i0N@yahoo.com  پیام بدن تا با هم همکاری کنیم(ببخشید دیگه یاهو نمیذاشت از این تیریپ هکری تر بشه!) البته خب شرایطی هم داره ولی اصلا سخت نیست فقط می خوام استعدادتون رو بسنجم.

در ضمن بازم می گم فقط و فقط برای برنامه نویسی سی پلاس پلاس و فقط و فقط هم ایمیل بزنین لطفا تو نظرات ننویسین.

سعی می کنم بازم با برنامه maze solver که گفتم بیام.

فعلا

برنامه دوز بصورت گرافیکی (ویژوال) Tic Tac Toe

بازم سلامبرنامه دوز به زبان سی پلاس پلاس

ایندفعه برنامه دوز که قبلا هم در وبلاگ بود رو نوشتم ، البته با ویژوال سی پلاس پلاس و بصورت گرافیکی.
حیفم اومد برای دانلود نذارم.

این هم عکس برنامه:

 برنامه دوز به زبان ویژوال سی پلاس پلاس - TicTacToe





















خب با توجه به عکس معلومه که کار با برنامه چطوری هست.

به علت بالا بودن حجم برنامه فایل release اون رو برای دانلود میذارم.
دانلود برنامه دوز به زبان ویژوال سی پلاس پلاس ، حجم : 939 کیلوبایت
Download TicTacToe by Visual C++ - release v 1.00
امیدوارم از این بازی لذت ببرید!

 

برنامه تعیین مثلثی بودن ماتریس

با سلام به همه دوستان
این بار برنامه تعیین بالا مثلثی یا پایین مثلثی بودن ماتریس های n*n ، که فکر می کنم بیش از سی بار درخواست شده بود رو براتون نوشتم. ابتدا توضیحاتی برای سایرین می دم:
ماتریس بالا مثلثی:

ماتریسی که تمام اعداد پایین قطر اصلی آن 0 باشند ، ماتریس بالا مثلثی نام دارد.
به بیان دیگر می توان گفت ، در ماتریس های بالا مثلثی ، رابطه زیر برقرار است:
If I>J => X[I,J]=0
 
ماتریس بالا مثلثی

ماتریس پایین مثلثی:
ماتریسی که تمام عناصر بالا و سمت راست قطر اصلی آن 0 باشند ، ماتریس پایین مثلثی نام دارد.
به بیان دیگر ، ماتریسی پایین مثلثی است که رابطه زیر در آن بر قرار باشد:
If  J>I => X[I,J]=0
 
ماتریس پایین مثلثی
 
 
حالا کمی در مورد برنامه توضیح بدم: این برنامه تشخیص می ده که یک ماتریس ، بالا مثلثی است ، پایین مثلثی یا هردو. بدین شکل که ابتدا تعداد ردیف (و ستون ها) و سپس عناصر ردیف ها به ترتیب از ورودی دریافت می شوند و برنامه ، نتیجه را برای شما می نویسد.

 

 

برنامه هشت وزیر

بالاخره الگوریتم برنامه هشت وزیر رو پیدا کردم و نوشتمش. حتما همه با این برنامه آشنایی دارید.
فقط این برنامه یه کم با اسمش فرق می کنه. شما ابتدا ضلع صفحه و سپس تعداد وزیر ها رو وارد می کنید و برنامه با کمک تابع بازگشتی ، تمام حالات قرار گرفتن اونها به شکلی که همدیگر رو تهدید نکنن ، نشون میده.

دانلود برنامه هشت وزیر به همراه فایل اجرایی حجم : ۱۳۰ کیلوبایت       لینک تصحیح شد!


مهسا خانم ، خیلی ممنونم. در ضمن من در مورد سازمانهای مجازی نمی نویسم.
آقا مصطفی و کیانای عزیز ، این برنامه از عهده من بر نمی آد.
ببخشید رویا خانم ، من خیلی دیر نظرتون رو دیدم.
هدا خانم ، اگر همچین جزوه ای پیدا کنم حتما می فرستم.
سیمه خانم ، شما رو ادد می کنم.
شیدا خانم ، من به زبان سی زیاد وارد نیستم.
مریم خانم ، میدونم که دیگه دیره ، ولی برنامه روی وبلاگ بود.
زهرا خانم ، هر وقت بتونم برنامه رو بنویسم براتون میل می کنم.
afagh عزیز ، این برنامه با عنوان عدد آیینه ای در وبلاگ هست.
چشم علی ،آقا حتما.
ممنون جناب ویروس.
مهرنوش خانم ، برنامه ای که می خواهید رو در نظرات اعلام کنید یا به من میل کنید.
آقا/خانم کاتبی ، برای آشنایی بیشتر با شبیه سازی فوتبال ، از جزوات آموزشی (که بیشتر انگلیسی هستند) یا گروه های مربوطه یاهو استفاده کنید.
ندا خانم ، واقعا ممنونم.
آقا سامان ، فکر می کنم که اون لینک مشکلی نداره.
حریر خانم ، یاد گرفتن زبان سی پلاس پلاس از روی کتاب های آموزشی هم چندان ساده نیست ، چه برسه به وبلاگ من که چند تا فایل آموزشی بیشتر نداره.
راحله خانم ، من زبان اسمبلی بلد نیستم.
امیر آقا ، سورس کامپایلر من ارور نمی گیره.
آسمان خانم ، اولا که رمز موفقیت خاصی ندارم ، شاید پرکار بودن ، فعال بودن ، تلاش بسیار ، باهوش بودن و بهترین بودن ... البته که شوخی می کنم. فکر می کنم هر کس دیگه ای هم که دو سال سی پلاس پلاس کار می کرد ، تسلط لازم روی این زبان رو پیدا می کرد. فقط یه کم وقت می گیره. در مورد مربع ناقص هم هنوز نتونستم راهی پیدا کنم.
یار وبلاگی و ریحانه خانم ، ممنون که هنوز هم سر می زنید.
امیر آقا ، آقا پژمان و سید جمال موسوی ، من شما رو لینک کردم.
شیدا خانم ، باید بگم که من در مورد زبان سی اطلاعات چندانی ندارم.
آقا کامی و آقا مصطفی ، نوشتن برنامه ای که خواسته بودید ، از عهده من بر نمی آد.
شادی خانم ، هنگامه خانم ، آقا احسان
آقا رضا ، با کمی تغییر برنامه فکر بکر می تونید برنامه ای که خواستید رو بنویسید.
آقا سالار ، به فرومتون سر زدم.
پریسا خانم ، متاسفم که دیر نظرتون رو دیدم.
آقا علیرضا ، این هم برنامه ای که خواسته بودید.
ممنون آقا محمد.

برنامه تقسیم کننده فایل ( File Separator )

شاید تا بحال برای شما مشکلی پیش اومده باشه که نیاز داشته باشید که یک فایل رو به چند تا فایل کوچکتر تقسیم کنید. مثلا فیلمی که در قالب یک فایل داخل دی وی دی است رو روی چند سی دی بریزید: برای اینکار نیاز دارید که ابتدا فیلم شما به چند قسمت کوچکتر تقسیم شه و بعد هر قسمت رو روی یک سی دی بریزید.

اینبار برنامه ای به کمک 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 کیلوبایت

 

برنامه پیانوی مجازی - Virtual Piano

با سلام دوباره به همه دوستان

این بار برنامه پیانوی مجازی رو براتون آماده کردم ، این برنامه ، دکمه های صفحه کلید شما رو به دکمه های پیانو تبدیل می کنه و با زدن هر دکمه ، صدایی پخش می شه. این برنامه که از یک ساختار بسیاد ساده switch و case تبعیت میکنه ، تحت داس نوشته شده و در کامپایلر Turbo C++ 3.0 DOS کامپایل شده است. به همین دلیل ، من فایل اجرایی این برنامه رو همراه با سورس اون در اختیار شما قرار میدم.با زدن هر دکمه ، آوایی خاص از بلندگوی کامپیوتر شما خارج می شود. با نگهداشتن کلید Shift و زدن دکمه ها ، فرکانس صدا بیشتر می شود. به کمک این برنامه ، می توانید آهنگ هایی متفاوت و صداهایی موزون با کامپیوتر خود ایجاد کنید.

 

دانلود برنامه پیانوی مجازی - Virtual Piano به همراه فایل اجرایی حجم : ۱۶ کیلوبایت

 

 

برنامه رسم منحنی - Easy Diagram Drawer

با سلام به همه دوستان

می دونید که دیگه امتحانات میان ترم شروع و شده و امتحانات نهایی هم نزدیکه ، و من نمی تونم زیاد وبلاگ رو آپ کنم ، ولی چند تا برنامه نسبتا جالب نوشتم که در چند پست برای دانلود می ذارم.

اولین برنامه ، برنامه رسم منحنی است. اول از همه باید به دوستان بگم که این برنامه ، با برنامه قبلی خیلی فرق دارد و کارآمد تر هست. نوع دریافت ضابطه منحنی عوض شده ، و همینطور برنامه جدید ، علامت های + ، - ، * ، / ، ^ ، () ، [ ]  ، و || ( به ترتیب : جمع ، تفریق ، ضرب ، تقسیم ، توان ، پرانتز ، کروشه و قدرمطلق ) رو پشتیبانی می کنه. این برنامه ، توانایی رسم مجموع دو تابع رو هم داره.

روش کار برنامه بدین ترتیب است که شما در صورت خواستن رسم یک نمودار ، وارد قسمت اول می شوید ، سپس ضابطه تابع مورد نظر رو با استفاده از علائم یاد شده و اعداد و کاراکتر 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 رسم شده توسط این برنامه(با کمی تغییر و کاهش اندازه):

نمودار y=x رسو شده توسط برنامه

لازم می دونم که عرض کنم این برنامه توانایی رسم توابعی مانند x-1 رو هم داره ولی در مورد توابع رادیکالی ، مثل تابع x1/5 ، چون توان بصورت ۰.۲ وارد می شود ، تابع x0.2 رسم می شود و این تابع در x های منفی تعریف و رسم نمی شود. در ضمن این برنامه توانایی رسم توابع سینوسی ، کسینوسی ، تانژانت و ... رو نداره ، اما من در حال نشوتن یه برنامه جدید هستم که توانایی رسم توابع سینوس ، کسینوس ، تانژانت ، کتانژانت ، لگاریتم با مبنای ۱۰ و e (عدد نپر)( sin , cos , tan , cot , log10 , ln ) رو داشته باشه. به محض اینکه این برنامه آماده بشه در وبلاگ و برای دانلود می ذارم.

دانلود برنامه رسم نمودار توابع چند جمله ای

 

کلاس کامل اعداد مختلط

با سلام به دوستان

اینبار برنامه کلاس اعداد مختلط رو که دوستان زیادی درخواست این برنامه رو کرده بودند ، آماده کردم؛ کلاس خیلی ساده و در عین حال کاربردی هست. همونطور که خیلی از شما دوستان می دونید ، اعداد مختطل به بردار ها شباهت زیادی دارند ، به خاطر این تعجب نکنید که این کلاس خیلی شبیه به کلاس بردار ها نوشته شده است.

توابع :

 - تابع getReal و getImaginary که به ترتیب قسمت حقیقی و قسمت موهومی عدد مختلط رو بر می گردانند.

- تابع setCmp که دو ورودی دریافت می کند و قسمت حقیقی را برابر ورودی اول و قسمت موهومی را برابر ورودی دوم قرار می دهد.

- تابع print برای چاپ عدد مختلط

عملگرها:

- عملگر های درج در جریان و استخراج از جریان ( بصورت استاندارد (x,y) )

- عملگرهای + ، - و * برای جمع ، تفریق و ضرب دو عدد مختلط

- عملگر های برابری (==) و نابرابری(=!)

- عملگر =

دانلود برنامه کلاس اعداد مختلط به همراه فایل اجرایی - نمونه ساده