Как поменять местами две переменные в C ++, Python и JavaScript
Как программист, вы, вероятно, столкнулись с ситуацией, когда вам нужно поменять местами два числа. Замена двух чисел местами – одна из самых распространенных ситуаций, с которыми сталкиваются программисты при написании кода.
Вы можете поменять местами два числа, используя временную переменную или используя арифметические и побитовые операции. В этой статье вы узнаете о различных методах, позволяющих поменять местами два числа.
Как поменять местами два числа с помощью временной переменной
Использование временной переменной – самый простой способ поменять местами два числа. Выполните эти три простых шага:
Шаг 1. Присвойте значение 1-й переменной временной переменной.
Шаг 2 : Присвойте значение 2-й переменной 1-й переменной.
Шаг 3 : Присвойте значение временной переменной второй переменной.
Например:
Пусть num1 = 80 и num2 = 50 (до замены).
После шага 1 : num1 = 80, num2 = 50 и temp = 80.
После шага 2 : num1 = 50, num2 = 50 и temp = 80.
После шага 3 : num1 = 50, num2 = 80 и temp = 80.
Таким образом, num1 равно 50, а num2 равно 80 после замены.
Реализация C ++ для обмена двух чисел с помощью временной переменной
Ниже представлена реализация C ++ для обмена двумя числами с использованием временной переменной:
#include <iostream>
using namespace std;
// Function to swap two numbers
// using a temporary variable
void swapNums(int num1, int num2)
{
// Printing numbers before swapping
cout << "Before Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
// Swapping with the help of a
// temporary variable "temp"
int temp = num1;
num1 = num2;
num2 = temp;
// Printing numbers after swapping
cout << "After Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
}
// Driver Code
int main()
{
swapNums(80, 50);
return 0;
}
Выход:
Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80
Реализация Python для обмена двумя числами с использованием временной переменной
Ниже представлена реализация Python для обмена двумя числами с использованием временной переменной:
# Function to swap two numbers
# using a temporary variable
def swapNums(num1, num2):
# Printing numbers before swapping
print("Before Swapping:")
print("num1: " , num1 , ", num2: " , num2)
# Swapping with the help of a
# temporary variable "temp"
temp = num1
num1 = num2
num2 = temp
# Printing numbers after swapping
print("After Swapping:")
print("num1: " , num1 , ", num2: " , num2)
# Driver Code
swapNums(80, 50)
Выход:
Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80
Реализация JavaScript для обмена двух чисел с помощью временной переменной
Ниже приведена реализация JavaScript для замены двух чисел с помощью временной переменной:
<script>
// Function to swap two numbers
// using a temporary variable
function swapNums(num1, num2) {
// Printing numbers before swapping
document.write("Before Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
// Swapping with the help of a
// temporary variable "temp"
let temp = num1;
num1 = num2;
num2 = temp;
// Printing numbers after swapping
document.write("After Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
}
// Driver Code
swapNums(80, 50);
</script>
Выход:
Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80
Как поменять местами два числа с помощью арифметических операторов (сложение и вычитание)
Сначала получите сумму двух чисел. Затем вы можете получить нужные числа, используя сумму и вычитание из суммы.
Реализация C ++ для обмена двух чисел с помощью арифметических операторов (сложение и вычитание)
Ниже представлена реализация C ++ для обмена двумя числами с помощью арифметических операторов (сложение и вычитание):
#include <iostream>
using namespace std;
// Function to swap two numbers
// using arithmetic operators (+, -)
void swapNums(int num1, int num2)
{
// Printing numbers before swapping
cout << "Before Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
// Swapping with the help of
// artithmetic operators (+, -)
num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2;
// Printing numbers after swapping
cout << "After Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
}
// Driver Code
int main()
{
swapNums(80, 50);
return 0;
}
Выход:
Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80
Реализация Python для обмена двух чисел с помощью арифметических операторов (сложение и вычитание)
Ниже представлена реализация Python для замены двух чисел с помощью арифметических операторов (сложение и вычитание):
# Function to swap two numbers
# using arithmetic operators (+, -)
def swapNums(num1, num2):
# Printing numbers before swapping
print("Before Swapping:")
print("num1: " , num1 , ", num2: " , num2)
# Swapping with the help of
# arithmetic operators (+, -)
num1 = num1 + num2
num2 = num1 - num2
num1 = num1 - num2
# Printing numbers after swapping
print("After Swapping:")
print("num1: " , num1 , ", num2: " , num2)
# Driver Code
swapNums(80, 50)
Выход:
Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80
Реализация JavaScript для замены двух чисел с помощью арифметических операторов (сложение и вычитание)
Ниже приведена реализация JavaScript для замены двух чисел с помощью арифметических операторов (сложение и вычитание):
<script>
// Function to swap two numbers
// using arithmetic operators (+, -)
function swapNums(num1, num2) {
// Printing numbers before swapping
document.write("Before Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
// Swapping with the help of
// using arithmetic operators (+, -)
num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2;
// Printing numbers after swapping
document.write("After Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
}
// Driver Code
swapNums(80, 50);
</script>
Выход:
Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80
Как поменять местами два числа с помощью арифметических операторов (умножение и деление)
Вы можете поменять местами два числа с помощью умножения и деления за три простых шага:
Шаг 1 : num1 = num1 * num2
Шаг 2 : num2 = num1 / num2
Шаг 3 : num1 = num1 / num2
Значения num1 и num2 меняются местами.
Этот метод не является предпочтительным для замены двух чисел, потому что, если любое из чисел равно 0, произведение этих двух чисел также будет 0. Кроме того, если второе число равно 0, компиляторы выдадут ошибку деления на ноль. Таким образом, вам следует избегать этого подхода, чтобы поменять местами два числа.
Как поменять местами два числа с помощью побитовых операторов
Побитовый оператор XOR используется для обмена двумя числами.
Реализация C ++ для обмена двух чисел с помощью побитовых операторов
Ниже представлена реализация C ++ для обмена двумя числами с помощью операторов XOR:
#include <iostream>
using namespace std;
// Function to swap two numbers
// using XOR operator
void swapNums(int num1, int num2)
{
// Printing numbers before swapping
cout << "Before Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
// Swapping with the help of
// XOR operator
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
// Printing numbers after swapping
cout << "After Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
}
// Driver Code
int main()
{
swapNums(80, 50);
return 0;
}
Выход:
Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80
Реализация Python для обмена двух чисел с помощью побитовых операторов
Ниже представлена реализация Python для обмена двумя числами с помощью операторов XOR:
# Function to swap two numbers
# using XOR operator
def swapNums(num1, num2):
# Printing numbers before swapping
print("Before Swapping:")
print("num1: " , num1 , ", num2: " , num2)
# Swapping with the help of
# XOR operator
num1 = num1 ^ num2
num2 = num1 ^ num2
num1 = num1 ^ num2
# Printing numbers after swapping
print("After Swapping:")
print("num1: " , num1 , ", num2: " , num2)
# Driver Code
swapNums(80, 50)
Выход:
Before Swapping:
num1: 80 , num2: 50
After Swapping:
num1: 50 , num2: 80
Реализация JavaScript для обмена двух чисел с помощью побитовых операторов
Ниже приведена реализация JavaScript для замены двух чисел с помощью операторов XOR:
<script>
// Function to swap two numbers
// using XOR operator
function swapNums(num1, num2) {
// Printing numbers before swapping
document.write("Before Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
// Swapping with the help of
// using XOR operator
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
// Printing numbers after swapping
document.write("After Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
}
// Driver Code
swapNums(80, 50);
</script>
Выход:
Before Swapping:
num1: 80, num2: 50
After Swapping:
num1: 50, num2: 80
Однострочное решение для обмена двумя числами в C ++, Python и JavaScript
Вы также можете поменять местами два числа в одной строке без использования каких-либо библиотечных функций.
Реализация C ++ для однострочного решения
#include <iostream>
using namespace std;
int main()
{
int num1 = 80, num2 = 50;
cout << "Before Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
// One line solution to swap two numbers
num1 = num1 ^ num2, num2 = num1 ^ num2, num1 = num1 ^ num2;
cout << "After Swapping: " << endl;
cout << "num1 = " << num1 << ", num2 = " << num2 << endl;
return 0;
}
Выход:
Before Swapping:
num1: 80, num2: 50
After Swapping:
num1: 50, num2: 80
Реализация Python для однострочного решения
num1 = 80
num2 = 50
print("Before Swapping:")
print("num1: " , num1 , ", num2: " , num2)
# One line solution to swap two numbers
num1, num2 = num2, num1
print("After Swapping:")
print("num1: " , num1 , ", num2: " , num2)
Выход:
Before Swapping:
num1: 80, num2: 50
After Swapping:
num1: 50, num2: 80
Реализация JavaScript для однострочного решения
<script>
let num1 = 80, num2 = 50;
document.write("Before Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
// One line solution to swap two numbers
(num1 ^= num2), (num2 ^= num1), (num1 ^= num2);
document.write("After Swapping: <br>");
document.write("num1: " + num1 + ", num2: " + num2 + "<br>");
</script>
Выход:
Before Swapping:
num1: 80, num2: 50
After Swapping:
num1: 50, num2: 80
Если вы хотите взглянуть на полный исходный код, использованный в этой статье, вот репозиторий GitHub .
Улучшите свои навыки программирования
Если вы хотите улучшить свои навыки программирования, вы должны следовать определенным принципам программирования, таким как KISS (Keep It Simple, Stupid), Dry Code, YAGNI (You Aren Going To Need It) и т. Д. ошибки кодирования, вы должны знать о наиболее распространенных ошибках кодирования. Эти знания помогут вам избежать распространенных ошибок и сохранить значимость кода.