Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- static int iloscRuchow;
- void Hanoi(int slupekPoczatkowy, int target, int ilosc_krazkow, int ilosc_slupkow)
- {
- fstream plik;
- plik.open("wynik.txt",ios::app);
- int i=ilosc_slupkow;
- while(ilosc_slupkow>3)
- {
- cout<<slupekPoczatkowy<<" ----> "<<ilosc_slupkow<<endl;
- plik<<slupekPoczatkowy<<" "<<ilosc_slupkow<<endl;
- ilosc_slupkow--;
- ilosc_krazkow--;
- iloscRuchow++;
- }
- int tmp=6-(slupekPoczatkowy + target);
- if (ilosc_krazkow == 1)
- {
- cout<<slupekPoczatkowy<<" ----> "<<target<<endl;
- plik<<slupekPoczatkowy<<" "<<target<<endl;
- iloscRuchow++;
- }
- else
- {
- Hanoi(slupekPoczatkowy, tmp, ilosc_krazkow-1, ilosc_slupkow);
- Hanoi(slupekPoczatkowy, target, 1, ilosc_slupkow);
- Hanoi(tmp, target, ilosc_krazkow-1, ilosc_slupkow);
- }
- int X=4;
- while(i>=X)
- {
- cout<< X << " ----> "<<target<<endl;
- plik<< X << " "<<target<<endl;
- X++;
- iloscRuchow++;
- }
- plik.close();
- }
- int main()
- {
- fstream plik;
- plik.open("wynik.txt",ios::out);
- plik.close();
- int ilosc_krazkow;
- int ilosc_slupkow;
- cout<<"Podaj ilosc krazkow : ";
- cin>>ilosc_krazkow;
- cout<<"Podaj ilosc slupkow : ";
- cin>>ilosc_slupkow;
- Hanoi(1, 3, ilosc_krazkow, ilosc_slupkow);
- cout<<endl;
- cout<<"Zlozonosc obliczeniowa to: "<<iloscRuchow;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement