C ++ programa, skirta sukeisti du skaičius

Šiame pavyzdyje yra du skirtingi skaičiavimo būdai programuojant C. Pirmoji programa naudoja laikiną kintamąjį, kad apsikeistų skaičiais, o antroji - nenaudoja laikinų kintamųjų.

1 pavyzdys: Keisti numerius (naudojant laikiną kintamąjį)

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

Rezultatas

Prieš keisdamas. a = 5, b = 10 Pasikeitus. a = 10, b = 5

Norėdami atlikti keitimą aukščiau pateiktame pavyzdyje, naudojami trys kintamieji.

Pirmojo kintamojo turinys nukopijuojamas į temp kintamąjį. Tada antrojo kintamojo turinys nukopijuojamas į pirmąjį kintamąjį.

Galiausiai temp kintamojo turinys nukopijuojamas atgal į antrąjį kintamąjį, kuris užbaigia keitimo procesą.

Taip pat galite atlikti keitimą naudodami tik du kintamuosius, kaip nurodyta toliau.

2 pavyzdys: keiskite numerius nenaudodami laikinų kintamųjų

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

Šios programos išvestis yra tokia pati kaip pirmosios programos.

Pažiūrėkime, kaip veikia ši programa:

  1. Iš pradžių a = 5ir b = 10.
  2. Tada pridedame a ir b ir saugome juos su kodu a = a + b. Tai reiškia a = 5 + 10. Taigi, a = 15dabar.
  3. Tada mes naudojame kodą b = a - b. Tai reiškia b = 15 - 10. Taigi, b = 5dabar.
  4. Vėlgi, mes naudojame kodą a = a - b. Tai reiškia a = 15 - 5. Taigi pagaliau a = 10.

Taigi numeriai buvo pakeisti.

Pastaba: vietoj sudėties ir atimties galime naudoti dauginimą ir padalijimą. Tačiau tai neveiks, jei vienas iš skaičių yra 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 

Įdomios straipsniai...