Введение
Обмен значениями двух переменных означает, что их значения должны быть поменяны местами, то есть исходное значение первой переменной должно стать тем, что раньше было второй переменной, и наоборот. В этом практическом занятии мы узнаем два способа обмена значениями двух переменных без использования третьей переменной:
Создайте новый файл на C++
Откройте терминал и перейдите в директорию проекта с помощью команды:
cd ~/project
Создайте новый файл на C++, названный swap.cpp, с помощью команды:
touch swap.cpp
Откройте swap.cpp в предпочитаемом редакторе кода.
Напишите код для обмена значениями двух переменных с использованием операторов + и -
В этом шаге мы напишем код для обмена значениями двух переменных с использованием операторов + и -. Код должен принимать от пользователя два числа и менять их местами без использования третьей переменной.
// swap.cpp
#include <iostream>
using namespace std;
void swap_numbers(int &x, int &y) {
x = x + y;
y = x - y;
x = x - y;
}
int main() {
int a, b;
cout << "Enter the value of a: ";
cin >> a;
cout << "Enter the value of b: ";
cin >> b;
cout << "Before swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
swap_numbers(a, b);
cout << "After swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
В этом коде мы создали функцию swap_numbers, которая принимает два целых аргумента и выполняет операцию обмена. Мы запрашиваем у пользователя два числа a и b и вызываем функцию swap_numbers, которая меняет их значения. Наконец, мы выводим переставленные значения a и b.
Для запуска программы используйте команду:
g++ swap.cpp -o swap &&./swap
Напишите код для обмена значениями двух переменных с использованием операторов * и /
В этом шаге мы напишем код для обмена значениями двух переменных с использованием операторов * и /. Код должен принимать от пользователя два числа и менять их местами без использования третьей переменной.
// swap.cpp
#include <iostream>
using namespace std;
void swap_numbers(int &x, int &y) {
x = x * y;
y = x / y;
x = x / y;
}
int main() {
int a, b;
cout << "Enter the value of a: ";
cin >> a;
cout << "Enter the value of b: ";
cin >> b;
cout << "Before swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
swap_numbers(a, b);
cout << "After swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
В этом коде также мы создали функцию swap_numbers, которая принимает два целых аргумента и выполняет операцию обмена. Мы запрашиваем у пользователя два числа a и b и вызываем функцию swap_numbers, которая меняет их значения. Наконец, мы выводим переставленные значения a и b. В этом методе обмена мы используем операции умножения и деления вместо сложения и вычитания.
Для запуска программы используйте команду:
g++ swap.cpp -o swap &&./swap
Завершающая программа
Вот полный код программы swap.cpp, которая меняет местами два числа как методом сложения-вычитания, так и методом умножения-деления.
// swap.cpp
#include <iostream>
using namespace std;
void add_subtract_swap(int &x, int &y) {
x = x + y;
y = x - y;
x = x - y;
}
void multiply_divide_swap(int &x, int &y) {
x = x * y;
y = x / y;
x = x / y;
}
int main() {
int a, b;
cout << "Enter the value of a: ";
cin >> a;
cout << "Enter the value of b: ";
cin >> b;
cout << "Before swapping: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
add_subtract_swap(a, b);
cout << "After swapping using + and - operators: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
multiply_divide_swap(a, b);
cout << "After swapping using * and / operators: " << endl;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
Компилировать и запустить
Для компиляции и запуска программы используйте команду:
g++ swap.cpp -o swap &&./swap
Программа запросит у пользователя два числа, которые она поменяет местами как методом сложения-вычитания, так и методом умножения-деления. Вывод покажет исходные значения a и b, значения, поменявшиеся местами с использованием сложения-вычитания, и значения, поменявшиеся местами с использованием умножения-деления.
Резюме
Обмен значениями является важной операцией в программировании и часто требуется в многих алгоритмах. В этом практическом занятии мы узнали два способа обмена значениями двух переменных без использования третьей переменной: с использованием сложения и вычитания, а также с использованием умножения и деления. Мы также узнали, как создавать функции для выполнения операции обмена значениями, что делает наш код более модульным и легким для чтения.



