কম্পিউটার

একটি প্রদত্ত স্ট্রিং C++ এ একটি বৈধ সংখ্যা কিনা তা পরীক্ষা করুন


ধারণা

একটি প্রদত্ত স্ট্রিং সাংখ্যিক হলে এটি যাচাই করা উচিত।

ইনপুট − str ="12.5"

আউটপুট - সত্য

ইনপুট − str ="def"

আউটপুট - মিথ্যা

ইনপুট − str ="2e5"

আউটপুট - সত্য

ইনপুট − 10e4.4

আউটপুট - মিথ্যা

পদ্ধতি

আমাদের কোডে নিম্নলিখিত কেসগুলি পরিচালনা করতে হবে৷

  • আমাদের অগ্রণী এবং পিছনের সাদা স্থানগুলিকে উপেক্ষা করতে হবে৷

  • আমাদের শুরুতে ‘+’, ‘-‘ এবং’.’ উপেক্ষা করতে হবে।

  • আমাদের নিশ্চিত করতে হবে যে স্ট্রিংয়ের অক্ষরগুলি {+, -, ., e, [0-9]}

    -এর অন্তর্গত।
  • আমাদের নিশ্চিত করতে হবে যে 'ই'-এর পরে কোনো '.' না আসে।

  • একটি অঙ্ক একটি বিন্দু অক্ষর অনুসরণ করা উচিত '.'.

  • আমাদের নিশ্চিত করতে হবে যে 'e' অক্ষরটি '+', '-', বা একটি অঙ্ক দ্বারা অনুসরণ করা উচিত।

উদাহরণ

ইনপুট নম্বর// একটি বৈধ নম্বর কিনা তা পরীক্ষা করার জন্য
// 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. C++ প্রোগ্রাম প্রদত্ত সংখ্যক বার একটি স্ট্রিং সংযুক্ত করতে?

  2. একটি প্রদত্ত স্ট্রিং-এর পারমুটেশনের সংখ্যা খুঁজে পেতে C++ প্রোগ্রাম

  3. একটি প্রদত্ত স্ট্রিং পাইথনে একটি বৈধ সংখ্যা কিনা তা পরীক্ষা করুন

  4. একটি প্রদত্ত স্ট্রিং নম্বর প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম