How to swap two numbers without using third variable in C++

4 Answers

0 votes
#include <iostream>

using namespace std;

int main()
{
	int a = 5, b = 13;

	a = a + b;
	b = a - b;
	a = a - b;

	cout << "a = " << a << endl;
	cout << "b = " << b << endl;

	return 0;
}



/*
run:

a = 13
b = 5

*/

 



answered May 11, 2017 by avibootz
0 votes
#include <iostream>

using namespace std;

int main()
{
	int a = 1, b = 13;

	a = a + b, b = a - b, a = a - b;

	cout << "a = " << a << endl;
	cout << "b = " << b << endl;

	return 0;
}



/*
run:

a = 13
b = 1

*/

 



answered May 11, 2017 by avibootz
0 votes
#include <iostream>

using namespace std;

int main()
{
	int a = 5, b = 13;

	a = a ^ b;
	b = a ^ b;
	a = b ^ a;

	cout << "a = " << a << endl;
	cout << "b = " << b << endl;

	return 0;
}



/*
run:

a = 13
b = 5

*/

 



answered May 11, 2017 by avibootz
0 votes
#include <iostream>

using namespace std;

int main()
{
	int a = 5, b = 13;

	a = b - ~a - 1;
	b = a + ~b + 1;
	a = a + ~b + 1;

	cout << "a = " << a << endl;
	cout << "b = " << b << endl;

	return 0;
}



/*
run:

a = 13
b = 5

*/

 



answered May 11, 2017 by avibootz
...