// swaps.cpp -- záměna pomocí odkazů a ukazatelů
#include <iostream>
void swapr(int & a, int & b); 	// a, b jsou jiná jména proměnných typu int
void swapp(int * p, int * q); 	// p, q jsou adresy proměnných typu int
void swapv(int a, int b); 		// a, b jsou nové proměnné
int main()
{
	using namespace std;
	int wallet1 = 300;
	int wallet2 = 350;

	cout << "penezenka1 = Kc " << wallet1;
	cout << " penezenka2 = Kc " << wallet2 << endl;

	cout << "Pouziti odkazu na zamenu obsahu:\n";
	swapr(wallet1, wallet2); 						// předání proměnných
	cout << "penezenka1 = Kc " << wallet1;
	cout << " penezenka2 = Kc " << wallet2 << endl;

	cout << "Pouziti ukazatelu na zamenu obsahu:\n";
	swapp(&wallet1, &wallet2); 					// předání adres proměnných
	cout << "penezenka1 = Kc " << wallet1;
	cout << " penezenka2 = Kc " << wallet2 << endl;

	cout << "Pokus pouziti predani hodnotou:\n";
	swapv(wallet1, wallet2); 						// předání hodnot proměnných
	cout << "penezenka1 = Kc " << wallet1;
	cout << " penezenka2 = Kc " << wallet2 << endl;
	return 0;
}

void swapr(int & a, int & b) 	// použití odkazů
{
	int temp;

	temp = a; 								// použití a, b pro hodnoty proměnných
	a = b;
	b = temp;
}

void swapp(int * p, int * q) 	// použití ukazatelů
{
	int temp;

	temp = *p; 								// použití *p, *q pro hodnoty proměnných
	*p = *q;
	*q = temp;
}

void swapv(int a, int b) 			// zkouška použití hodnot
{
	int temp;

	temp = a; 								// použití a, b pro hodnoty proměnných
	a = b;
	b = temp;
}

