Tento príklad obsahuje dve rôzne techniky výmeny čísel v programovaní C. Prvý program používa na zámenu čísel dočasnú premennú, zatiaľ čo druhý program dočasné premenné nepoužíva.
Príklad 1: Zamieňanie čísel (pomocou dočasnej premennej)
#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; )
Výkon
Pred výmenou. a = 5, b = 10 Po výmene. a = 10, b = 5
Na vykonanie zámeny vo vyššie uvedenom príklade sa používajú tri premenné.
Obsah prvej premennej sa skopíruje do dočasnej premennej. Potom sa obsah druhej premennej skopíruje do prvej premennej.
Nakoniec sa obsah dočasnej premennej skopíruje späť do druhej premennej, ktorá dokončí proces výmeny.
Výmenu môžete vykonať aj pomocou iba dvoch premenných, ako je uvedené nižšie.
Príklad 2: Zamieňajte čísla bez použitia dočasných premenných
#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; )
Výstup tohto programu je rovnaký ako prvý program vyššie.
Pozrime sa, ako tento program funguje:
- Spočiatku
a = 5
ab = 10
. - Potom pridáme a a b a uložíme ich do a s kódom
a = a + b
. To znamenáa = 5 + 10
. Takžea = 15
teraz. - Potom použijeme kód
b = a - b
. To znamenáb = 15 - 10
. Takžeb = 5
teraz. - Opäť používame kód
a = a - b
. To znamenáa = 15 - 5
. Tak konečnea = 10
.
Preto boli čísla vymenené.
Poznámka: Namiesto sčítania a odčítania môžeme použiť násobenie a delenie. To však nebude fungovať, ak je jedno z čísel 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