Programma C ++ per scambiare due numeri

Questo esempio contiene due diverse tecniche per scambiare i numeri nella programmazione C. Il primo programma utilizza variabili temporanee per scambiare numeri, mentre il secondo programma non utilizza variabili temporanee.

Esempio 1: scambio di numeri (utilizzando una variabile temporanea)

 #include using namespace std; int main() ( int a = 5, b = 10, temp; cout << "Before swapping." << endl; cout << "a = " << a << ", b = " << b << endl; temp = a; a = b; b = temp; cout << "After swapping." << endl; cout << "a = " << a << ", b = " << b << endl; return 0; )

Produzione

Prima dello scambio. a = 5, b = 10 Dopo lo scambio. a = 10, b = 5

Per eseguire lo scambio nell'esempio precedente, vengono utilizzate tre variabili.

Il contenuto della prima variabile viene copiato nella variabile temporanea. Quindi, il contenuto della seconda variabile viene copiato nella prima variabile.

Infine, il contenuto della variabile temporanea viene copiato di nuovo nella seconda variabile che completa il processo di scambio.

È inoltre possibile eseguire lo scambio utilizzando solo due variabili come di seguito.

Esempio 2: scambio di numeri senza utilizzare variabili temporanee

 #include using namespace std; int main() ( int a = 5, b = 10; cout << "Before swapping." << endl; cout << "a = " << a << ", b = " << b << endl; a = a + b; b = a - b; a = a - b; cout << "After swapping." << endl; cout << "a = " << a << ", b = " << b << endl; return 0; )

L'output di questo programma è lo stesso del primo programma sopra.

Vediamo come funziona questo programma:

  1. Inizialmente, a = 5e b = 10.
  2. Quindi, aggiungiamo aeb e lo memorizziamo in a con il codice a = a + b. Questo significa a = 5 + 10. Quindi a = 15adesso.
  3. Quindi usiamo il codice b = a - b. Questo significa b = 15 - 10. Quindi b = 5adesso.
  4. Ancora una volta, usiamo il codice a = a - b. Questo significa a = 15 - 5. Quindi finalmente a = 10.

Quindi, i numeri sono stati scambiati.

Nota: possiamo usare moltiplicazione e divisione invece di addizione e sottrazione. Tuttavia, questo non funzionerà se uno dei numeri è 0.

 int a = 5, b = 10; // using multiplication and division for swapping a = a * b; // a = 50 b = a / b; // b = 5 a = a / b; // a = 10 

Articoli interessanti...