[[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 17:09 by 147.32.8.115
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki