View Single Post
Staro 07.08.2008., 15:16   #1
carterado
Registered User
 
carterado's Avatar
 
Datum registracije: Sep 2007
Lokacija: far away
Postovi: 29
Tower of Hanoi

Jel mi moze netko pojasniti ovaj algoritam za kulu hanoi? Ovi if uslovi me bune Ako netko ima vremena da malo to pojasni, bio bih zahvalan

Code:
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>

void KuleHanoja(int n, char lijevo, char desno, char srednje) {
     
     // oslobađa prvi stupac
      if (n > 1) 
      KuleHanoja(n-1,lijevo,srednje,desno);
      cout << "Prenesi disk od " << lijevo << " do " << desno << '\n';
      
     //oslobađa drugi stupac
     if (n > 1)
      KuleHanoja(n-1,srednje,desno,lijevo);
}

int main() {
    
    int n,pot;
     cout << "\nKoliko zelite diskova?\n";
    cout<<"Broj diskova n=";
    cin>>n;
    cout<<"Potrebno je uraditi slijedece: \n\n";
    //poziva se rekurzivna funkcija
      KuleHanoja(n,'1','3','2');
    //matematička formula rješavanja problema
    pot=pow(2,n)-1;
     cout<<"\t\t\nPotrebno je "<<pot<<" poteza da se prebace svi diskovi."<<endl;
    getch ();
    return 0;
}
carterado je offline   Reply With Quote