veze_c
#include "stdafx.h" #include <string> #include <iostream> using namespace std; const int N = 5; struct Vez { int v; int p [N]; }; Vez A, B, C; void nuluj (Vez & X) { X.v=0; for(int i=0; i<N; i++) X.p[i]=0; } void init (Vez & X) { X.v=N; for(int i=0; i<N; i++) X.p[i]=N-i; } void zobraz (Vez & X) { for (int i = 0; i < X.v; i++) cout << X.p[i]; for (int i = X.v; i <= N; i++) cout << ' '; } void tiskni (Vez & X, Vez & Y, Vez & Z) { zobraz (X); cout << " : "; zobraz (Y); cout << " : "; zobraz (Z); cout << endl; } void krok (Vez & X, Vez & Y){ int h; h=X.p[X.v-1]; X.p[X.v-1]=0; X.v=X.v-1; Y.v=Y.v+1; Y.p[Y.v-1]=h; } void hraj (Vez & X, Vez & Y, Vez & Z, int k) { if (k>1) hraj (X, Z, Y, k-1); krok (X, Z); tiskni (A, B, C); if (k>1) hraj (Y, X, Z, k-1); } int _tmain (int argc, _TCHAR* argv[]) { init(A); nuluj(B); nuluj(C); tiskni (A, B, C); hraj (A, B, C, N); cout << "Konec - stisknete enter" << endl; char c; cin >> c; return 0; }
veze_c.txt · Last modified: 2015/03/05 16:09 by 127.0.0.1