Форум программистов, компьютерный форум CyberForum.ru

Написать функцию swap - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему нельзя подставлять переменные в выражения #if #else? http://www.cyberforum.ru/cpp-beginners/thread1130277.html
Почему код работает, не должен же, потому что выражение стоящее после #if вычисляется на этапе компиляции, переменные подставлять нельзя?? #include <stdio.h> #include <iostream> using namespace std; int a = 9; int main(void){ #if a>99
C++ В массиве все четные элементы заменить максимальным В одномерном массиве все четные элементы заменить максимальным и отсортировать элементы массива по возрастанию. http://www.cyberforum.ru/cpp-beginners/thread1130253.html
C++ Поменять местами минимальный и максимальный элемент в каждом столбце матрицы
Дано матрицу размера 5 x 10. Превратить матрицу, поменяв местами минимальный и максимальный элемент в каждом столбце.
Найти средние арифметические значения элементов каждой строки матрицы C++
Задать матрицу произвольным способом. Найти средние арифметические значения элементов каждой строки.
C++ Найти количество элементов превышающих среднее арифметическое всех элементов массива http://www.cyberforum.ru/cpp-beginners/thread1130247.html
Дано одномерный массив из 15 целых чисел. Найти количество элементов превышающих среднее арифметическое всех элементов массива.
C++ Cколько раз встречаются числа с 4 одинаковыми цифрами Здравствуйте.Мне нужна помощь. Для всех шестизначных натуральных чисел посчитать сколько раз встречаются числа, в записи которых присутсвует 4 одинаковые цифры. Вот что получилось. #include <iostream> #include <math.h> using namespace std; void main (void) подробнее

Показать сообщение отдельно
Alex5
1036 / 699 / 102
Регистрация: 12.04.2010
Сообщений: 1,757
17.03.2015, 19:51     Написать функцию swap
Цитата Сообщение от Tulosba Посмотреть сообщение
C++
1
a[0] ^= a[1] ^= a[0] ^= a[1];
Эквивалентны ли следующие операторы?
C++
1
x = x ^ (y = y ^ (x = (x ^ y)));
C++
1
x ^= y ^= x ^= y;
Если так, то вот возможный результат.

C++
1
2
3
4
5
6
7
8
9
10
11
/* We evaluate left to right, doing both operands before the operation. */
x = 1; y = 2;
x = 1 ^ (y = y ^ (x = (x ^ y))); // left of outer 
x = 1 ^ (y = 2 ^ (x = (x ^ y))); // left of middle 
x = 1 ^ (y = 2 ^ (x = (1 ^ y))); // left of inner
x = 1 ^ (y = 2 ^ (x = (1 ^ 2))); // right of inner
x = 1 ^ (y = 2 ^ (x = 3)); // inner xor (right inner assign)
x = 1 ^ (y = 2 ^ 3); // inner assign (right middle xor)
x = 1 ^ (y = 1); // middle xor (right middle assign)
x = 1 ^ 1; // middle assign (right outer xor)
x = 0; // outer xor (right outer assign)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru