Rabu, 19 Oktober 2011

metode menara hanoy C++

METODE MENARA HANOI
Sebuah permainan dimana sejumlah piringan dipindahkan dari tonggak satu ke tonggak lainnya dan dapat menggunakan tonggak bantuan .

Caranya semua piringan di tonggak A akan dipindahkan ke tonggak C secara satu persatu dan piringan yang besar tidak boleh diletakkan di atas piringan yang kecil.
Untuk lebih jelasnya soal prosesnya bisa lihat gambar di bawah ini


Untuk menyelesaikan puzzle di atas dalam pemrograman, kita dapat menggunakan teknik rekursif. Rekursif adalah fungsi atau prosedure yang dapat memanggil dirinya sendiri.
Jadi algoritmanya adalah …
Kalau N = 1 maka
N dipindahkan dari A ke C secara langsung
Tapi kalau N > 1 maka
pindahkan N-1 dari A ke B
pindahkan N dari A ke C
pindahkan N-1 dari B ke C
catatan :
N = banyaknya piringan

#include
using namespace std;
void MenaraHanoi(int N, char asal, char bantu, char tujuan);
int main()
{
int piringan;
cout<< "\nPROGRAM MENARA HANOI\n"; cout<< "--------------------\n\n"; cout<< "Banyaknya piringan: "; cin >> piringan;
cout<< endl;
MenaraHanoi(piringan,'A','B','C');
return 0;
}
void MenaraHanoi(int N, char asal, char bantu, char tujuan)
{
if(N == 1)
cout<<"Piringan 1 dari "< else
{
MenaraHanoi(N-1,asal,tujuan, bantu);
cout<<"Piringan " << N <<" dari " << asal << " ke " << tujuan< MenaraHanoi(N-1, bantu, asal, tujuan);
}
}
Sekarang kita coba coding dengan c++
outputnya

Tidak ada komentar:

Posting Komentar