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

अपना स्वयं का strcmp लिखें जो C++ में मामलों की उपेक्षा करता है

यहां, हमें एक strcmp (स्ट्रिंग तुलना) फ़ंक्शन बनाना है जो दो स्ट्रिंग की तुलना करता है लेकिन स्ट्रिंग के वर्णों के मामलों को अनदेखा करता है। फ़ंक्शन -1 लौटाएगा यदि string1 string2 है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट

string1 = “Hello” , string2 = “hello”

आउटपुट

0

अपना स्वयं का strcmp फ़ंक्शन बनाने के लिए जो स्ट्रिंग्स की तुलना करते समय मामलों की उपेक्षा करता है। हम दोनों स्ट्रिंग्स के सभी वर्णों के माध्यम से पुनरावृति करेंगे, यदि ith अनुक्रमणिका के वर्ण समान हैं अर्थात string1[i] ==string2[i], जारी रखें। अगर string1[i]> string2[i], रिटर्न 1. अगर string1[i]

यहां, हमें मामलों को अनदेखा करना है, इसलिए ए और ए को समान माना जाएगा। हम वर्णों के ASCII मानों का उपयोग करेंगे, फिर a =97 के लिए ASCII A =65 के ASCII के बराबर होगा।

हमारे समाधान के कार्यान्वयन को दिखाने के लिए कार्यक्रम,

उदाहरण

#include <iostream>
using namespace std;
int strcmpFunc(string string1, string string2){
   int i;
   for (i = 0; string1[i] && string2[i]; ++i){
      if (string1[i] == string2[i] || (string1[i] ^ 32) == string2[i])
         continue;
      else
      break;
   }
   if (string1[i] == string2[i])
      return 0;
   if ((string1[i] | 32) < (string2[i] | 32))
      return -1;
   return 1;
}
int main(){
   cout<<"Compareing string using our strcmp function :\n";
   cout<<"Result: "<<strcmpFunc("HELLO", "hello")<<endl;
   cout<<"Result: "<<strcmpFunc("", "Hello")<<endl;
   cout<<"Result: "<<strcmpFunc("Tutorials", "Pint")<<endl;
   cout<<"Result: "<<strcmpFunc("afdadsa", "rewf")<<endl;
   cout<<"Result: "<<strcmpFunc("tutorialspoint", "TUTORIALSpoint")<<endl;
   return 0;
}

आउटपुट

Compareing string using our strcmp function −
Result: 0
Result: -1
Result: 1
Result: -1
Result: 0

  1. सी में अपनी खुद की हेडर फाइल कैसे लिखें?

    यहां हम देखेंगे कि सी का उपयोग करके खुद की हेडर फाइल कैसे बनाई जाती है। हेडर फाइल बनाने के लिए, हमें एक नाम के साथ एक फाइल बनानी होगी, और एक्सटेंशन (*.h) होना चाहिए। उस फ़ंक्शन में कोई मुख्य () फ़ंक्शन नहीं होगा। उस फाइल में हम कुछ वेरिएबल, कुछ फंक्शन आदि डाल सकते हैं। उस हेडर फ़ाइल का उपयोग करने क

  1. C++ का उपयोग करके अपने स्वयं के आकार के ऑपरेटर को लागू करें

    एक विकल्प है कि हम अपना खुद का sizeof() ऑपरेटर लागू कर सकते हैं। ऑपरेटर sizeof() एक यूनरी ऑपरेटर है और इसका उपयोग किसी भी प्रकार के डेटा के आकार की गणना करने के लिए किया जाता है। हम अपने स्वयं के sizeof() ऑपरेटर को लागू करने के लिए #define निर्देश का उपयोग कर सकते हैं जो बिल्कुल sizeof() ऑपरेटर के स

  1. सी/सी++ में strncmp() और strcmp() के बीच अंतर

    strncmp() फ़ंक्शन strncmp() का उपयोग बाएं स्ट्रिंग की तुलना दाएं स्ट्रिंग से किसी संख्या तक करने के लिए किया जाता है। यह strcmp() के समान काम करता है। यह शून्य से अधिक मान देता है जब बाएं स्ट्रिंग के मिलान वर्ण में दाएं स्ट्रिंग के वर्ण से अधिक ASCII मान होता है। जब बाईं स्ट्रिंग के मिलान वर्ण का A