Овај пример садржи две различите технике замене бројева у програмирању на језику Ц. Први програм користи привремену променљиву за замену бројева, док други програм не користи привремене променљиве.
Пример 1: Замените бројеве (помоћу привремене променљиве)
#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; )
Оутпут
Пре замене. а = 5, б = 10 Након замене. а = 10, б = 5
Да би се извршила замена у горњем примеру, користе се три променљиве.
Садржај прве променљиве се копира у привремену променљиву. Затим се садржај друге променљиве копира у прву променљиву.
Коначно, садржај променљиве темп се копира назад у другу променљиву која довршава поступак замене.
Такође можете извршити замену користећи само две променљиве као доле.
Пример 2: Замените бројеве без употребе привремених променљивих
#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; )
Резултат овог програма је исти као и први програм горе.
Погледајмо како овај програм функционише:
- У почетку
a = 5
иb = 10
. - Затим додамо а и б и спремимо их у а са кодом
a = a + b
. То значиa = 5 + 10
. Дакле,a = 15
сада. - Тада користимо код
b = a - b
. То значиb = 15 - 10
. Дакле,b = 5
сада. - Опет користимо код
a = a - b
. То значиa = 15 - 5
. Коначно,a = 10
.
Дакле, бројеви су замењени.
Напомена: Уместо сабирања и одузимања можемо користити множење и дељење. Међутим, ово неће успети ако је један од бројева 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