Program C ++ pentru a schimba două numere

Acest exemplu conține două tehnici diferite pentru a schimba numerele în programarea C. Primul program utilizează variabile temporare pentru a schimba numerele, în timp ce al doilea program nu folosește variabile temporare.

Exemplul 1: schimbați numerele (folosind variabila temporară)

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

Ieșire

Înainte de a schimba. a = 5, b = 10 După schimbare. a = 10, b = 5

Pentru a efectua schimbul în exemplul de mai sus, sunt utilizate trei variabile.

Conținutul primei variabile este copiat în variabila temp. Apoi, conținutul celei de-a doua variabile este copiat în prima variabilă.

În cele din urmă, conținutul variabilei temp este copiat înapoi la a doua variabilă care finalizează procesul de schimbare.

De asemenea, puteți efectua swap-ul folosind doar două variabile ca mai jos.

Exemplul 2: schimbați numerele fără a utiliza variabile temporare

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

Rezultatul acestui program este același cu primul program de mai sus.

Să vedem cum funcționează acest program:

  1. Inițial a = 5și b = 10.
  2. Apoi, adăugăm a și b și le stocăm într-un cu codul a = a + b. Aceasta înseamnă a = 5 + 10. Deci, a = 15acum.
  3. Apoi folosim codul b = a - b. Aceasta înseamnă b = 15 - 10. Deci, b = 5acum.
  4. Din nou, folosim codul a = a - b. Aceasta înseamnă a = 15 - 5. Deci, în cele din urmă a = 10,.

Prin urmare, numerele au fost schimbate.

Notă: Putem folosi înmulțirea și împărțirea în loc de adunare și scădere. Cu toate acestea, acest lucru nu va funcționa dacă unul dintre numere este 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 

Articole interesante...