Permainan ini terdiri dari papan dengan 3 tiang yang diberi label A, B, dan C, dan tumpukan piringan yang disusun besar ke kecil (dari bawah ke atas ) pada tiang A. Aturannya adalah tidak boleh ada cakram yang lebih besar berada di atas cakram kecil. Tujuan permainan adalah memindahkan seluruh cakram dari tiang A ke tiang C, satu persatu dengan melalui menara B sebagai menara tampungan.
Solusi umum permainan ini yaitu menggunakan rekursif.
Bagian I : Pindahkan n-1 cakram yang lebih kecil dari A ke B
Bagian II : Pindahkan sisa cakram dari A ke C
Bagian III : Pindahkan n-1 cakram dari B ke C
Bagian I dan III adalah rekursif. Basis dari rekursif nya adalah kasus di mana n=0, pada kasus ini tidak ada yang di kerjakan.
Keterangan Program:
Solusi umum permainan ini yaitu menggunakan rekursif.
Bagian I : Pindahkan n-1 cakram yang lebih kecil dari A ke B
Bagian II : Pindahkan sisa cakram dari A ke C
Bagian III : Pindahkan n-1 cakram dari B ke C
Bagian I dan III adalah rekursif. Basis dari rekursif nya adalah kasus di mana n=0, pada kasus ini tidak ada yang di kerjakan.
Keterangan Program:
Terdiri dari 2 method
1. Method Hanoi
a. Mempunyai variabel :
· int n (banyak piringan)
· char a(tiang asal)
· char b(tiang bantuan)
· char c(tiang tujuan)
b. Jika banyak piringan =1,maka piringan langsung dipindahkan ke tiang tujuan.Jika tidak,maka :
· Pindahkan n-1 cakram yang lebih kecil dari A ke B
· Pindahkan sisa cakram dari A ke C
· Pindahkan n-1 cakram dari B ke C
2. Method main
Pada saat menginputkan banyak piringan,akan memanggil variabel n,kemudian memanggil method hanoi dan akan melakukan proses yang sesuai dengan fungsi di method hanoi di atas.
Anda baru saja membaca artikel yang berkategori Kuliah Informatika /
Struktur Data
dengan judul Program Menara Hanoi pada C++. Anda bisa bookmark halaman ini dengan URL http://aina-tunk.blogspot.com/2012/06/program-menara-hanoi-pada-c.html. Terima kasih!
Ditulis oleh:
Tunk-Tunk - Sabtu, 09 Juni 2012
klo yg pke bahasa C ada ga gan?
BalasHapussepertinya hanya berubah di coutnya saja berubah menjadi printf dan cin menjadi scanf mohon kalau salah dibenarkan masih newbie
BalasHapusbantu saya dong bang ini soalnya
BalasHapusBuatlah flowchart dan program dengan c++ untuk menghitung nilai rata-rata dari seorang siswa yg ditentukan sbb:
1. Nama siswa, nilai pertandingan 1, nilai pertandingan 2, nilai pertandingan 3 diinput
2. Nilai rata-rata merupakan hasil dari nilai 1,2,3 di bagi dengan 3
3. Ketentuan mendapat hadiah:
a. Jika nilai rata-rata >=85 maka mendapat hadiah seperangkat computer.
b. Jika nilai rata-rata dibawah 85 hanya mendapat hadiah hiburan.
Ketentuan teknis ;
Layar masukan ;
PROGRAM HITUNG NILAI RATA-RATA
Nama siswa :
Nilai pertandingan 1 :
Nilai pertandingan 2 :
Nilai pertandingan 3 :
Layar keluaran ;
Siswa yang bernama
Mempunyai nilai rata-rata dari hasil perlombaan yang diikutinya.
Hadiah yang diperolehnya adalah
**TERIMA KASIH**