Šajā piemērā ir divas dažādas metodes, kā mainīt ciparus C programmēšanā. Pirmajā programmā numuru maiņai tiek izmantots pagaidu mainīgais, savukārt otrajā programmā pagaidu mainīgie netiek izmantoti.
1. piemērs: Nomainiet numurus (izmantojot pagaidu mainīgo)
#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; )
Rezultāts
Pirms mijmaiņas. a = 5, b = 10 Pēc maiņas. a = 10, b = 5
Lai veiktu maiņu iepriekšējā piemērā, tiek izmantoti trīs mainīgie.
Pirmā mainīgā saturs tiek kopēts temp mainīgajā. Pēc tam otrā mainīgā saturs tiek kopēts pirmajā mainīgajā.
Visbeidzot, temp mainīgā saturs tiek kopēts atpakaļ uz otro mainīgo, kas pabeidz maiņas procesu.
Jūs varat arī veikt maiņu, izmantojot tikai divus mainīgos, kā norādīts zemāk.
2. piemērs: Nomainiet numurus, neizmantojot pagaidu mainīgos
#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; )
Šīs programmas izeja ir tāda pati kā pirmās iepriekš minētās programmas.
Apskatīsim, kā šī programma darbojas:
- Sākotnēji
a = 5
unb = 10
. - Tad mēs pievienojam a un b un glabājam tos kopā ar kodu
a = a + b
. Tas nozīmēa = 5 + 10
. Tātad,a = 15
tagad. - Tad mēs izmantojam kodu
b = a - b
. Tas nozīmēb = 15 - 10
. Tātad,b = 5
tagad. - Atkal mēs izmantojam kodu
a = a - b
. Tas nozīmēa = 15 - 5
. Tātad beidzota = 10
.
Tādējādi numuri ir mainīti.
Piezīme: Saskaitīšanas un atņemšanas vietā mēs varam izmantot reizināšanu un dalīšanu. Tomēr tas nedarbosies, ja viens no skaitļiem ir 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