जोड़ और घटाव ऑपरेशन की मदद से, हम एक मेमोरी लोकेशन से दूसरी मेमोरी लोकेशन में दो नंबरों को स्वैप कर सकते हैं।
एल्गोरिथम
एल्गोरिथम नीचे समझाया गया है:
शुरुआत
चरण 1: दो वेरिएबल x और y डिक्लेयर करें।
चरण 2: कीबोर्ड से दो नंबर पढ़ें।
चरण 3: नंबर स्वैप करें। // नंबर स्वैप करने के लिए जोड़ और घटाव ऑपरेशन लागू करें।
i. x = x + y
ii. y = x - y
iii. x = x - y
चरण 4: x और y के मान प्रिंट करें।
प्रोग्राम
निम्न C प्रोग्राम तीसरे वेरिएबल या अस्थायी वेरिएबल के बिना दो नंबरों की स्वैपिंग को दर्शाता है:
#include <stdio.h>
int main() {
int x, y;
printf("x और y के मान दर्ज करें: ");
scanf("%d%d", &x, &y); // मान लें x=20 और y=30
x = x + y; // x = 20 + 30 = 50
y = x - y; // y = 50 - 30 = 20
x = x - y; // x = 50 - 20 = 30
printf("स्वैप के बाद x=%d और y=%d", x, y);
return 0;
}
आउटपुट
आपको निम्न आउटपुट मिलेगा:
x और y के मान दर्ज करें: 20 30 स्वैप के बाद x=30 और y=20
नोट - हम गुणा और भाग ऑपरेटर तथा बिटवाइज XOR ऑपरेटर का उपयोग करके भी तीसरे वेरिएबल की मदद के बिना दो नंबरों को स्वैप कर सकते हैं।
एक और उदाहरण देखें जो गुणा और भाग ऑपरेटर का उपयोग करके दो नंबरों को स्वैप करने की व्याख्या करता है।
प्रोग्राम
निम्न C प्रोग्राम दो नंबरों की स्वैपिंग की कार्यक्षमता को दर्शाता है:
#include <stdio.h>
int main() {
int x, y;
printf("x और y के मान दर्ज करें: ");
scanf("%d%d", &x, &y);
x = x * y;
y = x / y;
x = x / y;
printf("स्वैप के बाद x=%d और y=%d", x, y);
return 0;
}
आउटपुट
जब आप उपरोक्त प्रोग्राम को निष्पादित करते हैं, तो आपको निम्न आउटपुट मिलेगा:
x और y के मान दर्ज करें: 120 250 स्वैप के बाद x=250 और y=120