কম্পিউটার

C++ এ ASCII মান [l, r] রেঞ্জে না থাকা বর্ণমালা গণনা ও মুদ্রণ করুন


আমাদের যেকোন দৈর্ঘ্যের একটি স্ট্রিং দেওয়া হয়েছে এবং কাজটি হল গণনা গণনা করা এবং ASCII মান রেঞ্জের মধ্যে নয় এমন একটি স্ট্রিং-এ বর্ণমালা প্রিন্ট করা।

অক্ষর A-Z-এর জন্য ASCII মান নীচে দেওয়া আছে

A B C D F G H আমি J K L M N P প্রশ্ন R এস
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83


T U V W X Y Z
84 85 86 87 88 89 90

a-z অক্ষরের জন্য ASCII মান নীচে দেওয়া আছে

a b c d f g h i j k l মি n p q r s
9
7
9
8
9
9
10
0
10
1
10
2
10
3
10
4
10
5
10
6
10
7
10
8
10
9
11
0
11
1
11
2
11
3
11
4
11
5


t u v w x y z
116 117 118 119 120 121 122

উদাহরণস্বরূপ

Input − String str = “point
      First = 111, Last = 117
Output − characters not in the given range are: i, n
      Count is: 2

ব্যাখ্যা − যেহেতু i এবং n [111, 117] রেঞ্জের মধ্যে পড়ে না এই অক্ষরগুলিকে গণনা করা হবে৷

Input − String str = “ABCZXY
      First = 65, Last = 70
Output − characters in the given range are: A, B, C
      Count is: 3

ব্যাখ্যা − যেহেতু Z, X এবং Y [65, 70] সীমার মধ্যে পড়ে না এই অক্ষরগুলিকে গণনা করা হবে৷

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • পরিসীমা তৈরি করতে স্ট্রিং, শুরু এবং শেষের মানগুলি ইনপুট করুন এবং এটিকে ভেরিয়েবলে সংরক্ষণ করুন, আসুন বলি, str৷

  • length() ফাংশন ব্যবহার করে স্ট্রিং এর দৈর্ঘ্য গণনা করুন যা স্পেস সহ স্ট্রিং এর অক্ষর সংখ্যা অনুযায়ী একটি পূর্ণসংখ্যা মান প্রদান করবে।

  • একটি অস্থায়ী ভেরিয়েবল নিন যা অক্ষর গণনা সংরক্ষণ করবে এবং একটি মানচিত্র তৈরি করবে, আসুন, mp

  • i থেকে 0 থেকে লুপটি শুরু করুন যতক্ষণ না i স্ট্রিংয়ের দৈর্ঘ্যের চেয়ে কম হয়

  • লুপের ভিতরে, স্টার্ট ইকুয়ালস টু str[i] এবং str[i] শেষের সমান নয় এর চেয়ে কম কিনা তা পরীক্ষা করুন

  • if এর ভিতরে, mp[str[i]] কিনা তা পরীক্ষা করুন! =1 তারপর str[i] প্রিন্ট করুন অন্যথা mp[str[i]] 1

    বাড়িয়ে দিন
  • গণনা ফেরত দিন

  • ফলাফল প্রিন্ট করুন

উদাহরণ

#include <iostream>
#include <unordered_map>
using namespace std;
// To count the number of characters whose
// ascii value not in range [l, r]
int count_non_char(string str, int left, int right){
   int count = 0;
   // using map to print a character only once
   unordered_map<char, int> m;
   int len = str.length();
   for (int i = 0; i < len; i++) {
      if (!(left <= str[i] and str[i] <= right)){
         count++;
         if (m[str[i]] != 1){
            cout << str[i] << " ";
            m[str[i]]++;
         }
      }
   }
   // return the count
   return count;
}
// main code
int main(){
   string str = "tutorialspoint";
   int left = 102, right = 111;
   cout << "Characters and ";
   cout << "\nand count in the given range is: " << count_non_char(str, left, right);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Characters and
and count in the given range is: t u r a s p 8

  1. C++ এ প্রদত্ত পরিসরে BST কী প্রিন্ট করুন

  2. sin(x) এবং cos(x) এর মান গণনা করার জন্য C++ প্রোগ্রাম

  3. ন্যূনতম ধনাত্মক পূর্ণসংখ্যা C দ্বারা বিভাজ্য এবং C++ এ পরিসীমা [A, B] এর মধ্যে নয়

  4. সর্বাধিক ধনাত্মক পূর্ণসংখ্যা C দ্বারা বিভাজ্য এবং C++ এ [A, B] পরিসরে রয়েছে