Tento program vezme od používateľa tri celé čísla a zamení ich v cyklickom poradí pomocou ukazovateľov.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich programovacích tém C ++:
- Ukazovatele C ++
- C ++ volanie podľa referencie: Používanie ukazovateľov (s príkladmi)
Tri premenné zadané používateľom sú uložené v premenných a, b a c.
Potom sa tieto premenné odovzdajú funkcii cyclicSwap()
. Namiesto odovzdávania skutočných premenných sa odovzdávajú adresy týchto premenných.
Keď sú tieto premenné vo cyclicSwap()
funkcii zamieňané v cyklickom poradí, main
automaticky sú zamieňané aj premenné a, b a c vo funkcii.
Príklad: Program na zámenu prvkov pomocou volania pomocou referencie
#include using namespace std; void cyclicSwap(int *a, int *b, int *c); int main() ( int a, b, c; cout <> a>> b>> c; cout << "Value before swapping: " << endl; cout << "a, b and c respectively are: " << a << ", " << b << ", " << c << endl; cyclicSwap(&a, &b, &c); cout << "Value after swapping numbers in cycle: " << endl; cout << "a, b and c respectively are: " << a << ", " << b << ", " << c << endl; return 0; ) void cyclicSwap(int *a, int *b, int *c) ( int temp; temp = *b; *b = *a; *a = *c; *c = temp; )
Výkon
Zadajte hodnotu a, b a c: 1 2 3 Hodnota pred výmenou: a = 1 b = 2 c = 3 Hodnota po výmene čísel v cykle: a = 3 b = 1 c = 2
Všimnite si, že sme z cyclicSwap()
funkcie nevrátili žiadne hodnoty .