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

जांचें कि दी गई स्ट्रिंग सी ++ में मान्य संख्या है या नहीं

अवधारणा

यदि दी गई स्ट्रिंग संख्यात्मक है तो इसे सत्यापित किया जाना चाहिए।

इनपुट - str ="12.5"

आउटपुट - सच

इनपुट - str ="डीफ़"

आउटपुट - झूठा

इनपुट - str ="2e5"

आउटपुट - सच

इनपुट -10e4.4

आउटपुट - झूठा

विधि

हमें कोड में निम्नलिखित मामलों को संभालना है।

  • हमें प्रमुख और पिछली सफेद जगहों को अनदेखा करना होगा।

  • हमें शुरुआत में '+', '-' और '।' को अनदेखा करना होगा।

  • हमें यह सुनिश्चित करना है कि स्ट्रिंग में वर्ण {+, -, ., e, [0-9]}

    से संबंधित हैं।
  • हमें यह सुनिश्चित करना होगा कि 'ई' के बाद कोई '.' न आए।

  • एक अंक को एक बिंदु वर्ण '.' का पालन करना चाहिए।

  • हमें यह सुनिश्चित करना होगा कि वर्ण 'ई' के बाद '+', '-', या एक अंक होना चाहिए।

उदाहरण

// C++ program to check if input number
// is a valid number
#include <bits/stdc++.h>
#include <iostream>
using namespace std;
int valid_number1(string str1){
   int i = 0, j = str1.length() - 1;
   while (i < str1.length() && str1[i] == ' ')
      i++;
   while (j >= 0 && str1[j] == ' ')
      j--;
   if (i > j)
      return 0;
   if (i == j && !(str1[i] >= '0' && str1[i] <= '9'))
      return 0;
   if (str1[i] != '.' && str1[i] != '+' && str1[i] != '-' && !(str1[i] >= '0' && str1[i] <= '9'))
      return 0;
   bool flagDotOrE = false;
   for (i; i <= j; i++) {
      // If any of the char does not belong to
      // {digit, +, -, ., e}
      if (str1[i] != 'e' && str1[i] != '.'
      && str1[i] != '+' && str1[i] != '-'
      && !(str1[i] >= '0' && str1[i] <= '9'))
      return 0;
      if (str1[i] == '.') {
         if (flagDotOrE == true)
            return 0;
         if (i + 1 > str1.length())
            return 0;
         if (!(str1[i + 1] >= '0' && str1[i + 1] <= '9'))
            return 0;
      }
      else if (str1[i] == 'e') {
         flagDotOrE = true;
         if (!(str1[i - 1] >= '0' && str1[i - 1] <= '9'))
            return 0;
         if (i + 1 > str1.length())
            return 0;
         if (str1[i + 1] != '+' && str1[i + 1] != '-'
            && (str1[i + 1] >= '0' && str1[i] <= '9'))
         return 0;
      }
   }
   return 1;
}
// Driver code
int main(){
   char str1[] = "0.1e10";
   if (valid_number1(str1))
      cout << "true";
   else
      cout << "false";
   return 0;
}

आउटपुट

true

  1. सी ++ प्रोग्राम किसी दिए गए स्ट्रिंग के क्रमपरिवर्तन की संख्या का पता लगाने के लिए

    हम एक स्ट्रिंग के पात्रों को अलग-अलग क्रम में व्यवस्थित कर सकते हैं। यहां हम देखेंगे कि हम कैसे गिन सकते हैं कि किसी दिए गए स्ट्रिंग से कितने क्रमपरिवर्तन बन सकते हैं। हम जानते हैं कि यदि एक स्ट्रिंग abc है। इसमें तीन वर्ण हैं; हम उन्हें 3 में व्यवस्थित कर सकते हैं! =6 अलग-अलग तरीके। तो n वर्णों वा

  1. जांचें कि क्या दी गई स्ट्रिंग पायथन में एक मान्य संख्या है

    मान लीजिए कि हमारे पास एक स्ट्रिंग है, जिसमें संख्यात्मक वर्ण और दशमलव बिंदु हैं, हमें यह जांचना है कि वह स्ट्रिंग किसी संख्या का प्रतिनिधित्व कर रही है या नहीं। अगर इनपुट 2.5 जैसा है, तो आउटपुट सही होगा, अगर इनपुट xyz है, तो आउटपुट गलत होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - इसे हल

  1. पायथन प्रोग्राम यह जाँचने के लिए कि क्या दी गई स्ट्रिंग संख्या पालिंड्रोम है

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक स्ट्रिंग इनपुट को देखते हुए, हमें यह जांचने के लिए एक पायथन फ़ंक्शन बनाना होगा कि यह पैलिंड्रोम है या नहीं। एक स्ट्रिंग को पैलिंड्रोम कहा जाता है यदि स्ट्रिंग का उल्टा स्ट्रिंग के समान है। हम