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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему нельзя подставлять переменные в выражения #if #else? http://www.cyberforum.ru/cpp-beginners/thread1130277.html
Почему код работает, не должен же, потому что выражение стоящее после #if вычисляется на этапе компиляции, переменные подставлять нельзя?? #include <stdio.h> #include <iostream> using namespace...
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... подробнее

Показать сообщение отдельно
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
14.03.2015, 15:42
Ксор переполняет каждый бит и гарантированно. В данной задаче это не критично, так как переполнение строго парно и исправляет само себя, но беда ксора в неприменимости к большинству типов.

Добавлено через 2 минуты
Цитата Сообщение от gazlan Посмотреть сообщение
Попробуйте обменять два равных значения.
C++
1
2
3
a^=b; // Здесь a обнуляется
b^=a; // Ксор с нолём равен второму операнду, b сохраняет значение
a^=b; // Ксор с нолём равен второму операнду, a восстанавливает значение
Добавлено через 1 минуту
Цитата Сообщение от gazlan Посмотреть сообщение
Угу. Запамятовал. Это не будет работать, если оба аргумента разделяют тот же самый адрес.
Тогда сама задача обмена стоять не должна.

Добавлено через 2 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
это почему еще
C++
1
void swapD(long long *a, long long *b)
А ничего, что полное имя long long вообще то long long int?

Добавлено через 2 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
void swapF(int *a, int *b)
Указатель есть целое специального вида, предназначенное для хранения адреса функции, или другого данного, то есть для хранения номер байта (трайта).
Нужны комментарии?

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
swapF((int*)&fA,(int*)&fB);
А это только при совпадении размеров. И приведение в данном контексте - грязный хак.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru