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

ISBN की जांच के लिए C++ प्रोग्राम

अनुक्रम और कार्य के साथ दिया गया यह पहचानना है कि दिया गया क्रम आईएसबीएन नंबर है या नहीं।

आईएसबीएन नंबर क्या है

आईएसबीएन का मतलब इंटरनेशनल स्टैंडर्ड बुक नंबर है जो दिसंबर 2006 तक 10 अंकों की संख्या है और अब इसे 1 जनवरी 2007 से 13 अंकों की संख्या में संशोधित किया गया है। नीचे दिए गए 10 अंकों के आईएसबीएन का कार्यान्वयन है।

ISBN अंक का पैटर्न −

. के रूप में होता है
  • किसी संख्या के 9 अंक शुरू करना पुस्तक के शीर्षक, प्रकाशक और समूह का प्रतिनिधित्व करता है। पहले 9 अंकों का मान 0 - 9 के बीच हो सकता है
  • अंतिम 1 अंक यह जांचता है कि आईएसबीएन सही है या नहीं। अंतिम अंक 10 के रूप में मान ले सकता है और इस संख्या को दर्शाने के लिए प्रतीक 'X' का उपयोग किया जाता है

कैसे जांचें कि दी गई 10 अंकों की संख्या एक ISBN संख्या है या नहीं?

  • किसी क्रम के पहले अंक से शुरू करें और इसे 10 से गुणा करें क्योंकि ISBN एक 10 अंकों की संख्या है
  • गुणक के मान को 1 से कम करके अगले अंक की ओर बढ़ते रहें
  • सभी गुणा परिणाम जोड़ें
  • परिणाम को 11 से विभाजित करें
  • आईएसबीएन नंबर की जांच के लिए शर्त लागू करें
    • यदि परिणाम 11 से विभाज्य है जिसका अर्थ है कि कोई शेष नहीं है या 0 शेष के रूप में संख्या से एक आईएसबीएन संख्या है
    • यदि परिणाम 11 से विभाज्य नहीं है, जिसका अर्थ है कि संख्या से कुछ शेष है या 0 नहीं है, तो यह ISBN संख्या नहीं है

उदाहरण

Input-: 002442142X
Output-: Not ISBN
Input-: 007462542X
Output-: it’s ISBN

एल्गोरिदम

Start
Step 1-> declare function to check for ISBN
   bool isvalid(string &isbn_number)
      set int n = isbn_number.length()
         IF (n != 10)
            return false
         End
         Set int sum = 0
         Loop For int i = 0 and i < 9 and i++
            Set int value = isbn_number[i] - '0'
            If (0 > value || 9 < value)
               return false
            End
            Set sum += (value * (10 - i))
         End
         Set char last_val = isbn_number[9]
         IF (last_val != 'X' && (last_val < '0' || last_val > '9'))
            return false
         End
         Set sum += ((last_val == 'X') ? 10 : (last_val - '0'))
         return (sum % 11 == 0)
step 2-> In main()
   set string isbn_number = "002442142X"
   IF (isvalid(isbn_number))
      Print " is Valid"
   End
   Else
      Print " is invalid
   End
Stop

उदाहरण

#include <bits/stdc++.h>
using namespace std;
//check whether its a valid ISBN or not
bool isvalid(string &isbn_number) {
   int n = isbn_number.length();
   if (n != 10)
      return false;
   int sum = 0;
   for (int i = 0; i < 9; i++) {
      int value = isbn_number[i] - '0';
      if (0 > value || 9 < value)
         return false;
      sum += (value * (10 - i));
   }
   char last_val = isbn_number[9];
   if (last_val != 'X' && (last_val < '0' || last_val > '9'))
      return false;
   sum += ((last_val == 'X') ? 10 : (last_val - '0'));
   return (sum % 11 == 0);
}
int main() {
   string isbn_number = "002442142X";
   if (isvalid(isbn_number))
      cout<<isbn_number<<" is Valid";
   else
      cout<<isbn_number<<" is invalid";
   return 0;
}

आउटपुट

अगर हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा

002442142X is invalid

  1. सी++ में इनवॉल्यूटरी मैट्रिक्स की जांच करने का कार्यक्रम

    एक मैट्रिक्स दिया गया है M[r][c], r पंक्तियों की संख्या को दर्शाता है और c कॉलम की संख्या को दर्शाता है जैसे कि r =c एक वर्ग मैट्रिक्स बनाता है। हमें यह जांचना है कि दिया गया वर्ग मैट्रिक्स एक इन्वॉल्वरी मैट्रिक्स . है या नहीं या नहीं। इनवॉल्यूटरी मैट्रिक्स एक मैट्रिक्स को इनवॉल्वरी . कहा जाता है म

  1. सी++ में पिरामिड के आयतन के लिए कार्यक्रम

    पिरामिड के आधार के प्रकार के आधार पर पक्षों को देखते हुए पिरामिड के आयतन की गणना करना कार्य है। पिरामिड एक 3-डी आकृति है जिसकी बाहरी सतह पिरामिड के तेज किनारे को बनाने वाले सामान्य बिंदु पर त्रिकोणीय मिलती है। पिरामिड का आयतन उसके आधार के प्रकार पर निर्भर करता है। पिरामिड विभिन्न प्रकार के आधारों

  1. QuickSort के लिए C++ प्रोग्राम?

    क्विकसॉर्ट एक छँटाई तकनीक है जो एक क्रमबद्ध सूची (सरणी) को क्रमबद्ध करने के लिए तुलना का उपयोग करती है। Quicksort को पार्टीशन एक्सचेंज सॉर्ट के रूप में भी जाना जाता है। यह एक स्थिर प्रकार नहीं है, क्योंकि समान प्रकार की वस्तुओं का सापेक्ष क्रम संरक्षित नहीं है। क्विकसॉर्ट एक सरणी पर काम कर सकता है,