Cao,
imam jedan mali problemcic. Zadatak je isprogramirati hanojske kule ali sa ogranicenjem da se ne moze vrsiti direktno prebacivanje sa prvog na drugi stap.
I isprogramirala sam.
Iduci dio je ukloniti rekurziju. Ja imam tri rekurzivna poziva. Uklonila sam dvije, ali onu trecu ne mogu nikako. Ne znam sta da radim sa njom. Molim za vasu pomoc.
Inace, programiranje je vrseno u C++.
stack<int> s;
X: while (N!=0) {
Hanoi(N-1,A,B);
cout<<"Sa "<<A<<" na "<<A+B<<endl;
s.push(N); s.push(A); s.push(B);
N--;pom=B;B=A;A=pom;
goto X;
}
if(!s.empty()) {
B=s.top(); s.pop();
A=s.top(); s.pop();
N=s.top(); s.pop();
cout<<"Sa "<<A+B<<" na "<<B<<endl;
N--;
goto X;
}
}
imam jedan mali problemcic. Zadatak je isprogramirati hanojske kule ali sa ogranicenjem da se ne moze vrsiti direktno prebacivanje sa prvog na drugi stap.
I isprogramirala sam.
Iduci dio je ukloniti rekurziju. Ja imam tri rekurzivna poziva. Uklonila sam dvije, ali onu trecu ne mogu nikako. Ne znam sta da radim sa njom. Molim za vasu pomoc.
Inace, programiranje je vrseno u C++.
stack<int> s;
X: while (N!=0) {
Hanoi(N-1,A,B);
cout<<"Sa "<<A<<" na "<<A+B<<endl;
s.push(N); s.push(A); s.push(B);
N--;pom=B;B=A;A=pom;
goto X;
}
if(!s.empty()) {
B=s.top(); s.pop();
A=s.top(); s.pop();
N=s.top(); s.pop();
cout<<"Sa "<<A+B<<" na "<<B<<endl;
N--;
goto X;
}
}