Program C ++ pentru a schimba numerele în ordine ciclică utilizând apelul prin referință

Acest program ia trei numere întregi de la utilizator și le schimbă în ordine ciclică folosind pointeri.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare C ++:

  • Indicatori C ++
  • Apel C ++ prin referință: folosirea pointerelor (cu exemple)

Trei variabile introduse de utilizator sunt stocate în variabilele a, b și respectiv c.

Apoi, aceste variabile sunt transmise funcției cyclicSwap(). În loc să treacă variabilele reale, sunt transmise adresele acestor variabile.

Când aceste variabile sunt schimbate în ordine ciclică în cyclicSwap()funcție, variabilele a, b și c din mainfuncție sunt, de asemenea, schimbate automat.

Exemplu: Program pentru a schimba elemente folosind apel prin referință

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

Ieșire

 Introduceți valoarea a, b și c respectiv: 1 2 3 Valoare înainte de schimb: a = 1 b = 2 c = 3 Valoare după schimbarea numerelor din ciclu: a = 3 b = 1 c = 2

Observați că nu am returnat nicio valoare din cyclicSwap()funcție.

Articole interesante...