Wieza Hanoi w ansi c

Piecia_88
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 26 gru 2007, o 20:57
Płeć: Mężczyzna
Lokalizacja: Białystok

Wieza Hanoi w ansi c

Post autor: Piecia_88 »

Coz mam taki maly problem
2. Wieże Hanoi

Iteracyjna implementacja algorytmu przekładania krążków wraz z wizualizacją działania. Na początku należy zapytać użytkownika o ilość krążków do przekładania. Program oferuje dwa tryby działania: tryb użytkownika (użytkownik przekłada krążki, program liczy ilość ruchów, które wykonał użytkownik) oraz tryb komputera (krążki przekładane są automatycznie co określony czas lub po wciśnięciu klawisza).
No moze nie taki maly i mam w to wrzuic listy jeszcze:(
napisalem cos takiego ale to lipa;/

Kod: Zaznacz cały

#include <stdio.h>
#include <stdlib.h>
#define K 100

void zamiana(int A[],int B[])
{
B[0]=A[0]; /*przelozenie*/
A[0]=0; /*oproznienie*/
}
void rysowanie (int A[],int B[],int C[],int n)
{

   int i,b;
   for (i=0; i<n;i++)
      printf("%15d%15d%15d
",A[i]);
   printf("

");

}

void hanoi(int A[],int B[],int C[],int n) 

{
  if(n==1) 
  
  zamiana(A,C);
  else
  { 
    hanoi(A,C,B,n-1);
    rysowanie(A,B,C,n);
    zamiana(A,C);
    rysowanie(A,B,C,n);
    hanoi(B,A,C+1,n-1); 
    zamiana(A,C);
    rysowanie(A,B,C,n);
  }
}

int main() {
    int ilosc_krazkow=0,i=0;
    int A[K]={1,2,3,4,5,6};
    int B[K]={0};
    int C[K]={0};
  printf("Ilosc krazkow: ");
  scanf("%d", &ilosc_krazkow);
  rysowanie(A,B,C,ilosc_krazkow);
   hanoi(A,B,C,ilosc_krazkow);
  rysowanie(A,B,C,ilosc_krazkow);
 
  printf("Ilosc krazkow: ");
  system("pause");
  return 0;
}
Ostatnio zmieniony 26 gru 2007, o 21:54 przez Piecia_88, łącznie zmieniany 1 raz.
ODPOWIEDZ