Come scambiare due variabili in C++, Python e JavaScript

Come scambiare due variabili in C++, Python e JavaScript

Come programmatore, probabilmente hai affrontato una situazione che richiede di scambiare due numeri. Scambiare due numeri è una delle situazioni più comuni che i programmatori affrontano durante la codifica.





Puoi scambiare due numeri usando una variabile temporanea o usando operazioni aritmetiche e bit a bit. In questo articolo imparerai una varietà di metodi che ti consentono di scambiare due numeri.





Come scambiare due numeri usando una variabile temporanea

Usare una variabile temporanea è il modo più semplice per scambiare due numeri. Segui questi tre semplici passaggi:





Passo 1 : Assegna il valore della 1a variabile a una variabile temporanea.

Passo 2 : Assegna il valore della 2a variabile alla 1a variabile.



Passaggio 3 : Assegna il valore della variabile temporanea alla 2a variabile.

Per esempio:





Sia num1 = 80 e num2 = 50 (prima dello scambio).

Dopo il passaggio 1 : num1 = 80, num2 = 50 e temp = 80.





Dopo il passaggio 2 : num1 = 50, num2 = 50 e temp = 80.

Dopo il passaggio 3 : num1 = 50, num2 = 80 e temp = 80.

Pertanto, num1 è uguale a 50 e num2 è uguale a 80 dopo lo scambio.

Implementazione C++ per scambiare due numeri usando una variabile temporanea

Di seguito è riportata l'implementazione C++ per scambiare due numeri utilizzando una variabile temporanea:

#include
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;
}

Produzione:

Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80

Implementazione Python per scambiare due numeri usando una variabile temporanea

Di seguito è riportata l'implementazione di Python per scambiare due numeri utilizzando una variabile temporanea:

lampone pi 3 vs b+
# 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)

Produzione:

Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80

Implementazione JavaScript per scambiare due numeri usando una variabile temporanea

Di seguito è riportato il JavaScript implementazione per scambiare due numeri usando una variabile temporanea:


// Function to swap two numbers
// using a temporary variable
function swapNums(num1, num2) {
// Printing numbers before swapping
document.write('Before Swapping:
');
document.write('num1: ' + num1 + ', num2: ' + num2 + '
');
// Swapping with the help of a
// temporary variable 'temp'
let temp = num1;
num1 = num2;
num2 = temp;
// Printing numbers after swapping
document.write('After Swapping:
');
document.write('num1: ' + num1 + ', num2: ' + num2 + '
');
}
// Driver Code
swapNums(80, 50);

Produzione:

Android 7.0 sposta le app sulla scheda SD
Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80

Come scambiare due numeri usando operatori aritmetici (addizione e sottrazione)

Per prima cosa, ottieni la somma di due numeri. Quindi puoi ottenere i numeri richiesti usando la somma e la sottrazione dalla somma.

Implementazione C++ per scambiare due numeri usando operatori aritmetici (addizione e sottrazione)

Di seguito è riportata l'implementazione C++ per scambiare due numeri utilizzando operatori aritmetici (addizione e sottrazione):

#include
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;
}

Produzione:

Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80

Implementazione Python per scambiare due numeri usando operatori aritmetici (addizione e sottrazione)

Di seguito è riportata l'implementazione di Python per scambiare due numeri utilizzando operatori aritmetici (addizione e sottrazione):

# 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)

Produzione:

Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80

Implementazione JavaScript per scambiare due numeri utilizzando operatori aritmetici (addizione e sottrazione)

Di seguito è riportata l'implementazione JavaScript per scambiare due numeri utilizzando operatori aritmetici (addizione e sottrazione):


// Function to swap two numbers
// using arithmetic operators (+, -)
function swapNums(num1, num2) {
// Printing numbers before swapping
document.write('Before Swapping:
');
document.write('num1: ' + num1 + ', num2: ' + num2 + '
');
// 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:
');
document.write('num1: ' + num1 + ', num2: ' + num2 + '
');
}
// Driver Code
swapNums(80, 50);

Produzione:

Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80

Come scambiare due numeri usando operatori aritmetici (moltiplicazione e divisione)

Puoi scambiare due numeri usando moltiplicazione e divisione in tre semplici passaggi:

Passo 1 : num1 = num1 * num2

Passo 2 : num2 = num1 /num2

Passaggio 3 : num1 = num1 / num2

I valori di num1 e num2 vengono scambiati.

Questo non è un metodo preferito per scambiare due numeri perché se uno dei due numeri è 0, anche il prodotto di questi due numeri sarà 0. Inoltre, se il secondo numero è 0, i compilatori genereranno un errore di divisione per zero. Pertanto, dovresti evitare questo approccio per scambiare due numeri.

Come scambiare due numeri usando operatori bit a bit

L'operatore XOR bit a bit viene utilizzato per scambiare due numeri.

Implementazione C++ per scambiare due numeri usando operatori bit a bit

Di seguito è riportata l'implementazione C++ per scambiare due numeri utilizzando gli operatori XOR:

#include
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;
}

Produzione:

Before Swapping:
num1 = 80, num2 = 50
After Swapping:
num1 = 50, num2 = 80

Implementazione Python per scambiare due numeri usando operatori bit a bit

Di seguito è riportata l'implementazione di Python per scambiare due numeri utilizzando gli operatori XOR:

Imparentato: Come scrivere o stampare su un file in Python

# 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)

Produzione:

Before Swapping:
num1: 80 , num2: 50
After Swapping:
num1: 50 , num2: 80

Implementazione JavaScript per scambiare due numeri usando operatori bit a bit

Di seguito è riportata l'implementazione JavaScript per scambiare due numeri utilizzando gli operatori XOR:


// Function to swap two numbers
// using XOR operator
function swapNums(num1, num2) {
// Printing numbers before swapping
document.write('Before Swapping:
');
document.write('num1: ' + num1 + ', num2: ' + num2 + '
');
// 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:
');
document.write('num1: ' + num1 + ', num2: ' + num2 + '
');
}
// Driver Code
swapNums(80, 50);

Produzione:

Before Swapping:
num1: 80, num2: 50
After Swapping:
num1: 50, num2: 80

Soluzione a una riga per scambiare due numeri in C++, Python e JavaScript

Puoi anche scambiare due numeri in una riga senza utilizzare alcuna funzione di libreria.

Implementazione C++ per una soluzione su una linea

#include
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;
}

Produzione:

Before Swapping:
num1: 80, num2: 50
After Swapping:
num1: 50, num2: 80

Implementazione Python per una soluzione su una linea

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)

Produzione:

correzione degli errori di gestione della memoria di Windows 10
Before Swapping:
num1: 80, num2: 50
After Swapping:
num1: 50, num2: 80

Implementazione JavaScript per una soluzione su una riga


let num1 = 80, num2 = 50;
document.write('Before Swapping:
');
document.write('num1: ' + num1 + ', num2: ' + num2 + '
');
// One line solution to swap two numbers
(num1 ^= num2), (num2 ^= num1), (num1 ^= num2);
document.write('After Swapping:
');
document.write('num1: ' + num1 + ', num2: ' + num2 + '
');

Produzione:

Before Swapping:
num1: 80, num2: 50
After Swapping:
num1: 50, num2: 80

Correlati: 10 principi di programmazione di base che ogni programmatore deve conoscere

Se vuoi dare un'occhiata al codice sorgente completo utilizzato in questo articolo, ecco il Archivio GitHub .

Migliora le tue abitudini di programmazione

Se vuoi migliorare le tue abitudini di programmazione, dovresti seguire alcuni principi di programmazione come KISS (Keep It Simple, Stupid), Dry Code, YAGNI (Non ne avrai bisogno), ecc. errori di codifica, dovresti conoscere gli errori di codifica più comuni. La conoscenza ti aiuterà a evitare le insidie ​​comuni e a mantenere il tuo codice significativo.

Condividere Condividere Tweet E-mail 10 errori di programmazione e codifica più comuni

Gli errori di codifica possono portare a tanti problemi. Questi suggerimenti ti aiuteranno a evitare errori di programmazione e a mantenere il tuo codice significativo.

Leggi Avanti
Argomenti correlati
  • Programmazione
  • JavaScript
  • Programmazione
  • Pitone
Circa l'autore Yuvraj Chandra(60 articoli pubblicati)

Yuvraj è uno studente universitario di Informatica presso l'Università di Delhi, in India. È appassionato di sviluppo Web Full Stack. Quando non scrive, esplora la profondità di diverse tecnologie.

Altro da Yuvraj Chandra

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per consigli tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti