Обменять значения двух переменных одинакового типа без использования третьей (буферной) переменной. Дополнительные свойства Алгоритм (один из способов реализации поставленной задачи) Реализация алгоритма #include <iostream> using namespace std; void XOR_Swap(int *x, int *y); int main() { int x; int y; cout << "Enter 1st number: x = "; cin >> x; cout << "Enter 2nd number: y = "; cin >> y; cout << endl; cout << "Performing XOR_Swap operation..." << endl; cout << endl; XOR_Swap(&x, &y); cout << "Now x = " << x << " and y = " << y << endl; cout << endl; system("PAUSE"); return 0; } void XOR_Swap(int *x, int *y) { *x ^= *y; *y ^= *x; *x ^= *y; } Пример работы программы Performing XOR_Swap operation... Now x = 2222 and y = 1111 Анализ алгоритма Критические замечания
Ключевые слова:
обмен значений переменных, XOR, исключающее ИЛИ
|
|||||||