Ta primer vsebuje dve različni tehniki zamenjave številk pri programiranju C. Prvi program uporablja začasno spremenljivko za zamenjavo številk, medtem ko drugi program ne uporablja začasnih spremenljivk.
Primer 1: Zamenjaj številke (z uporabo začasne spremenljivke)
#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; )
Izhod
Pred zamenjavo. a = 5, b = 10 Po zamenjavi. a = 10, b = 5
Za izvedbo zamenjave v zgornjem primeru so uporabljene tri spremenljivke.
Vsebina prve spremenljivke se kopira v spremenljivko temp. Nato se vsebina druge spremenljivke kopira v prvo spremenljivko.
Končno se vsebina spremenljivke temp kopira nazaj v drugo spremenljivko, ki zaključi postopek zamenjave.
Zamenjavo lahko izvedete tudi z uporabo samo dveh spremenljivk, kot je prikazano spodaj.
Primer 2: Zamenjajte številke brez uporabe začasnih spremenljivk
#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; )
Rezultat tega programa je enak prvemu programu zgoraj.
Poglejmo, kako deluje ta program:
- Sprva
a = 5
inb = 10
. - Nato dodamo a in b ter ga shranimo v a s kodo
a = a + b
. To pomenia = 5 + 10
. Torej,a = 15
zdaj. - Nato uporabimo kodo
b = a - b
. To pomenib = 15 - 10
. Torej,b = 5
zdaj. - Spet uporabljamo kodo
a = a - b
. To pomenia = 15 - 5
. Torej na koncua = 10
.
Številke so se zato zamenjale.
Opomba: Namesto seštevanja in odštevanja lahko uporabimo množenje in deljenje. Vendar to ne bo delovalo, če je ena od številk 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