See programm võtab kasutajalt kolm täisarvu ja vahetab need kursorite abil tsüklilises järjekorras.
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest C ++ programmeerimise teemadest:
- C ++ osutid
- C ++ kõne viitena: osutite kasutamine (koos näidetega)
Kolm kasutaja sisestatud muutujat salvestatakse vastavalt muutujatesse a, b ja c.
Seejärel edastatakse need muutujad funktsioonile cyclicSwap()
. Tegelike muutujate edastamise asemel edastatakse nende muutujate aadressid.
Kui need muutujad vahetatakse cyclicSwap()
funktsioonis tsüklilises järjekorras, main
vahetatakse automaatselt ka funktsiooni muutujad a, b ja c .
Näide: Programm elementide vahetamiseks, kasutades kõnet viite abil
#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äljund
Sisestage vastavalt a, b ja c väärtus: 1 2 3 Väärtus enne vahetamist: a = 1 b = 2 c = 3 Väärtus pärast tsüklis olevate numbrite vahetamist: a = 3 b = 1 c = 2
Pange tähele, et me pole cyclicSwap()
funktsioonist tagastanud ühtegi väärtust .