こんにちは私はハノイの塔で問題に直面しています:
交互に積み重ねられた交互の色のシリンダーのスタックが与えられます。
ジョブは、同じ色の2つのスタック
を分離することである私は、再帰を使用して、ハノイの定期的なタワーのためのコード(アルゴリズム)を書くことができますが、私はこの部分を把握することはできませんよ。助けてもらえますか?通常のハノイ問題の
コード:
ハノイの塔の問題
#include<iostream>
using namespace std;
int count=0;
void hanoi(char a,char b,char c,int x)
{
if(x>1)
{
hanoi(a,c,b,x-1);
hanoi(a,b,c,1);
hanoi(c,b,a,x-1);
}
else
{
cout<<"Move a Disk from "<<a<<" to "<<b<<endl; count++;
}
}
int main()
{
int n;
cout<<"Enter the height of stack";
cin>>n;
hanoi('A','B','C',n);
cout<<"\nNo. of changes done:"<<count;
return 0;
}
をあなたは本当に、より構造化された方法で、あなたのコードをフォーマットする必要があります。ゼロインデントは、私は、このソリューションが動作する方法を正確に知っているにもかかわらず、あなたが貼り付けられ、読み、そのタフなものの中にあります。 – BSchlinker
@ Johnan、それを掃除していただきありがとうございます。 – BSchlinker
@Frustatedコーダー:**インデントあなたのコード**/8/<< - スターン見た顔。 – Johan