در این مطلب سورس برنامه برج هانوی به زبان سی پلاس پلاس را جهت دانلود قرار داده ایم. سورس برنامه برج هانوی که یکی از مسائل و سوالات رایج درس ساختمان داده ها می باشد را هم اکنون می توانید از وب سایت برنامه نویسی سورس باران دانلود نمایید. انیدواریم که این مطلب مورد توجه کاربران عزیز قرار گرفته باشد.
جهت دانلود سورس برنامه برج هانوی به زبان سی پلاس پلاس به ادامه مطلب مراجعه نمایید.
روش اول:
#include #include void tower(int,char,char,char); /*prototype*/ int main() { int ndisk; clrscr(); printf("\n Enter number of disks <<<::: "); scanf("%d",&ndisk); tower(ndisk,'A','B','C'); /*Calling Function*/ getch(); return 0; } /* End of program */ /********************************************/ // src = Source | aux = Auxiliry | dest = Destination void tower(int topN, char src,char aux,char dest) { if(topN == 1) { printf("\n Disk 1 from %c to %c ",src,dest); } else { tower(topN-1,src,dest,aux); //src to aux printf("\n Disk %d from %c to %c ",topN,src,dest); tower(topN-1,aux,src,dest); //aux to dest } }
روش دوم:
#include <iostream> #include <cstdlib> #include <conio.h> #include <cmath> typedef char* Peg; void move(Peg A, Peg B); void transfer(size_t N, Peg A, Peg B, Peg C); void get_disk_num(int &iNum); int main() { while(1) { std::cout << "\t\t\tHanoi Towers Puzzle Solver" << std::endl << std::endl; std::cout << "Enter number of disc on the first peg (enter -1 to quit): "; int iDiskNum, iStepNum; get_disk_num(iDiskNum); if(iDiskNum == -1) { std::cout << "hope you enjoyed using these program!" << std::endl; break; } else { iStepNum = pow(2, iDiskNum) - 1; std::cout << "the shortest solution can be reach in " << iStepNum << " steps" << std::endl; std::cout << "press any key to show the solution..."; getch(); std::cout << std::endl; transfer(iDiskNum, "Peg1", "Peg2", "Peg3"); system("pause"); system("cls"); } } return 0; } // tedade jabejayi diskha void move(Peg A, Peg B) { std::cout << "move top most disc from " << A << " to " << B << std::endl; } // chegonegiye harekate diskhara namayesh midahad void transfer(size_t N, Peg A, Peg B, Peg C) { if(N > 0) { // enteghale avalin N - 1 disk be "B" transfer(N - 1, A, C, B); // enteghale akharin disk be "C" move(A, C); // enteghale dickhaye "B" be"C", transfer(N - 1, B, A, C); } } void get_disk_num(int &iNum) { std::cin >> iNum; if(iNum != -1 && iNum < 1) { std::cout << "please notice that the number of disc needs to be an integer bigger than 0" << std::endl; std::cout << "number of disc on the first peg: "; get_disk_num(iNum); } }
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
آموزش پروژه محور طراحی سایت با پایتون و جنگو مختص بازار کار دانلود با لینک مستقیم
- جم فايل : 5 کیلوبایت
- منبع : سورس باران
- انتشار: ۲۲ آبان ۱۳۹۳
دسته بندی موضوعات
- آموزش برنامه نویسی
- آموزش کریپتو کارنسی (ارز دیجیتال)
- آموزش متنی برنامه نویسی
- پروژه برنامه نویسی
- فروشگاه
- فیلم های آموزشی
- #F
- ++C
- 3ds max
- Ada
- ADO.NET
- Adobe Flash
- Agile
- Ajax
- AngularJS
- Anime Studio
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- assembly
- AVR
- Azure
- Bootstrap
- Cassandra
- CCNA
- CCNP
- CCSP
- ChatGPT
- Cisco
- CMD
- COBOL
- CSS
- Cython
- Django
- Dreameaver
- Elixir
- EntityFramework
- Erlang
- Flash
- Go
- Groovy
- Haskell
- Htaccess
- HTML
- IOS
- Jade
- jquery
- Kendo UI
- Linq
- Linux
- LUA
- MariaDB
- maya
- Meteor
- MongoDB
- Mono Android
- MonoGame
- Mysql
- NoSQL
- Oracle
- Orchard
- Perl
- php
- PHPMyAdmin
- R
- Rational Rose
- Ruby
- Rust
- Scala
- Scrum Master
- SFML
- SharePoint
- SignalR
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- Vue 3
- WPF
- Xml
- آردوینو
- آموزش های پروژه محور
- آیونیک
- اتوکد
- الگوریتم تقریبی
- الگوریتم نویسی و فلوچارت
- امنیت
- اندروید
- اندروید استودیو
- انیمیشن سازی
- بازی سازی با Scratch
- بک ترک
- بیسیک فور اندروید
- پایتون
- پرولوگ
- پریمیر
- جاوا
- جاوا اسکریپت
- جنگو
- جوملا
- دارت
- دلفی
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- ساخت اتوران
- ساختمان داده ها
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کاتلین
- کامپایلرها
- کانستراکت
- کریستال ریپورت
- کلوژر
- گوگل آنالیتیکس
- گیت
- لاراول
- مای بی بی
- مایکروسافت پروجکت
- متریال دیزاین
- متلب
- معماری کامپیوتر
- مهندسی اینترنت
- میکروتیک
- نود جی اس
- نیوک
- هوش مصنوعی
- ویبولوتین
- ویژوال استودیو
- یونیتی
- کتاب های آموزشی
- Ada
- Ajax
- Android
- ASP.NET
- ASP.NET Core
- AVR
- clips
- CNC
- COBOL
- CQRS
- Cython
- Dreamweaver
- Elixir
- Entity Framework 4.0
- Erlang
- Go
- Groovy
- Haskell
- LINQ
- Lua
- Matlab
- MFC
- Node.js
- PERL
- php
- PLC
- Prolog
- React
- Rust
- Scala
- SFML
- SharePoint
- silver light
- VHDL
- VMware
- WinJS
- Workflow
- WPF
- XHTML
- Yii Framework
- اتوکد
- اچ تی ام ال
- اسمبلی
- اکتیو ایکس
- الگوریتم و فلوچارت
- انگولار
- اوبونتو
- اوراکل
- بازی سازی
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- بک ترک
- پاسکال
- پایان نامه
- پایتون
- پرولوگ
- جاوا
- جاوا اسکریپت
- جی کوئری
- حوملا
- داده کاوی
- دلفی
- رباتیک
- روبی
- زبان ماشین
- سئو
- ساختمان داده ها
- سایر کتاب ها
- سخت افزار
- سوئیفت
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- سیستم عامل
- سیستم های خبره
- شبکه و مجازی سازی
- شبیه سازی کامپیوتر
- طراحی الگوریتم
- فتوشاپ
- فریم ورک گتنا
- کاتلین
- کالی لینوکس
- کریستال ریپورت
- گزارش کارآموزی
- گوگل
- لیسپ
- متلب
- مقاله
- مهندسی نرم افزار
- نیوک
- هوش مصنوعی
- وب مستر
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس