Овај програм узима од корисника три целе бројеве и замењује их у цикличном редоследу помоћу показивача.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања на Ц ++:
- Ц ++ показивачи
- Ц ++ позив референцом: Коришћење показивача (са примерима)
Три променљиве које је корисник унео чувају се у променљивим а, б и ц респективно.
Затим се ове променљиве прослеђују функцији cyclicSwap()
. Уместо прослеђивања стварних променљивих, прослеђују се адресе ових променљивих.
Када се ове променљиве у cyclicSwap()
функцији замењују у цикличном редоследу , променљиве а, б и ц у main
функцији такође се аутоматски замењују.
Пример: Програм за замену елемената помоћу позива помоћу референце
#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; )
Оутпут
Унесите вредност а, б и ц респективно: 1 2 3 Вредност пре замене: а = 1 б = 2 ц = 3 Вредност након замене бројева у циклусу: а = 3 б = 1 ц = 2
Приметите да из cyclicSwap()
функције нисмо вратили ниједну вредност .