Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में मैक्रोज़ के कार्य को प्रदर्शित करने का प्रोग्राम


मान लीजिए हमें एक पूर्णांक सरणी दी गई है जिसमें कई पूर्णांक मान हैं। हमें सरणी में सबसे छोटे मान और सबसे बड़े मान के बीच का अंतर ज्ञात करना है। इस समस्या को हल करने के लिए हमें मैक्रोज़ का उपयोग करना होगा। इनपुट stdin से लिए जाते हैं, और परिणाम stdout पर प्रिंट किया जाता है।

उदाहरण के लिए, यदि इनपुट array = {120, 589, 324, 221, 234} है, तो आउटपुट होगा: The answer is : 469

सबसे बड़े मान 589 और सबसे छोटे मान 120 के बीच का अंतर 469 है।

समाधान दृष्टिकोण

इस समस्या को हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:

  • mini := अनंत
  • maxi := ऋणात्मक अनंत
  • v में प्रत्येक i के लिए:
    • यदि mini > v[i], तो mini := v[i]
    • यदि maxi < v[i], तो maxi := v[i]
  • ans := maxi - mini
  • ans प्रिंट करें

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

#define minmac(a, b) a = min(a, b) #define maxmac(a, b) a = max(a, b) #define INF ((1 << 31)-2) #define input(a) cin >> a #define toStr(a) string("The answer is :") #define FOO(a, b) #define foreach(a, b) for (int i = 0; i < a.size(); ++i) #include <iostream> #include <vector> using namespace std; FOO(minmac, <) FOO(maxmac, >) int main(){    int n; cin >> n;    vector<int> v(n);    foreach(v, i) {       input(v)[i];    }    int mini = INF;    int maxi = -INF;    foreach(v, i) {       minmac(mini, v[i]);       maxmac(maxi, v[i]);    }    int ans = maxi - mini;    cout << toStr(The answer is :) <<' '<< ans;    return 0; }

इनपुट

5 120 589 324 221 234

आउटपुट

The answer is : 469
  1. - C++ प्रोग्राम: नाओर-रींगोल्ड छद्म यादृच्छिक फंक्शन लागू करना

    नाओर-रींगोल्ड छद्म यादृच्छिक फंक्शन यादृच्छिक संख्याएं उत्पन्न करने की एक और विधि है। मोनी नाओर और ओमर रींगोल्ड ने 1997 में निजी कुंजी के साथ-साथ सार्वजनिक-कुंजी क्रिप्टोग्राफी में विभिन्न क्रिप्टोग्राफिक प्राइमिटिव के लिए कुशल निर्माणों का वर्णन किया। मान लें कि p और l अभाज्य संख्याएं हैं जहां l |

  1. - C++ में swap() फ़ंक्शन

    swap() फ़ंक्शन दो संख्याओं को स्वैप (अदला-बदली) करने के लिए उपयोग किया जाता है। तीसरे वेरिएबल की आवश्यकता नहीं होती। <algorithm> या <utility> हेडर में परिभाषित (C++11 से)। सिंटैक्स void swap(Type& a, Type& b); उदाहरण 1: मान द्वारा पास (मान बदलते नहीं) #include <bits/stdc++.

  1. - C++ में फ़ंक्शन बनाकर अभाज्य संख्या जांचने का प्रोग्राम

    एक अभाज्य संख्या एक पूर्ण संख्या है जो एक से बड़ी होती है और अभाज्य संख्या के केवल कारक एक और स्वयं होने चाहिए। कुछ पहली अभाज्य संख्याएँ हैं: 2, 3, 5, 7, 11, 13 ,17 फ़ंक्शन का उपयोग करके जांचने का प्रोग्राम कि कोई संख्या अभाज्य है या नहीं, निम्नलिखित है। उदाहरण #include <iostream> using namesp