কম্পিউটার

C++ এ একের পর এক সংখ্যা প্রদর্শন করতে LED লাইটে পরিবর্তন গণনা করুন


আমাদের একটি ধনাত্মক সংখ্যা দেওয়া হয়েছে, আসুন সংখ্যা বলি এবং কাজটি হল একের পর এক প্রদর্শিত LED লাইটে পরিবর্তনের গণনা করা। আমরা অনুমান করব যে প্রাথমিকভাবে সমস্ত LED বন্ধ আছে এবং সেগুলি স্ট্রিং মানের উপর ভিত্তি করে শুরু করা হবে৷

এই প্রশ্নটি সমাধানের জন্য আমাদের বুঝতে হবে একটি সাতটি সেগমেন্ট ডিসপ্লে কী এবং এটির কাজ।

সেভেন সেগমেন্ট ডিসপ্লে কি

সেভেন সেগমেন্ট ডিসপ্লে হল আউটপুট ডিসপ্লে ডিভাইস যা ইমেজ বা টেক্সট বা দশমিক সংখ্যার আকারে তথ্য প্রদর্শনের একটি উপায় প্রদান করে যা আরও জটিল ডট ম্যাট্রিক্স ডিসপ্লের বিকল্প। এটি ডিজিটাল ঘড়ি, মৌলিক ক্যালকুলেটর, ইলেকট্রনিক মিটার এবং অন্যান্য ইলেকট্রনিক ডিভাইসে ব্যাপকভাবে ব্যবহৃত হয় যা সংখ্যাসূচক তথ্য প্রদর্শন করে। এতে সাতটি আলোক নির্গমনকারী ডায়োড (এলইডি) রয়েছে যা সংখ্যাসূচক 8 এর মতো একত্রিত হয়।

C++ এ একের পর এক সংখ্যা প্রদর্শন করতে LED লাইটে পরিবর্তন গণনা করুন

সেভেন সেগমেন্ট ডিসপ্লেতে কাজ করা

8 নম্বরটি প্রদর্শিত হয় যখন সমস্ত সেগমেন্টে পাওয়ার দেওয়া হয় এবং আপনি যদি 'g'-এর জন্য পাওয়ার সংযোগ বিচ্ছিন্ন করেন, তাহলে এটি 0 নম্বর প্রদর্শন করে। সাত সেগমেন্টের ডিসপ্লেতে, বিভিন্ন পিনে পাওয়ার (বা ভোল্টেজ) প্রয়োগ করা যেতে পারে। একই সময়ে, তাই আমরা 0 থেকে 9 পর্যন্ত ডিসপ্লে সংখ্যাসূচকের সমন্বয় তৈরি করতে পারি। যেহেতু সাতটি সেগমেন্টের ডিসপ্লে X এবং Z এর মতো বর্ণমালা গঠন করতে পারে না, তাই এটি বর্ণমালার জন্য ব্যবহার করা যাবে না এবং এটি শুধুমাত্র দশমিক সংখ্যাসূচক মাত্রা প্রদর্শনের জন্য ব্যবহার করা যেতে পারে। যাইহোক, সাতটি সেগমেন্ট ডিসপ্লে A, B, C, D, E, এবং F বর্ণমালা গঠন করতে পারে, তাই এটি হেক্সাডেসিমেল সংখ্যার প্রতিনিধিত্ব করার জন্যও ব্যবহার করা যেতে পারে।

C++ এ একের পর এক সংখ্যা প্রদর্শন করতে LED লাইটে পরিবর্তন গণনা করুন

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

Input − num = “123 ”
Output − count is 5

ব্যাখ্যা − 1 আলোকিত করতে মোট LED প্রয়োজন 2, 2 আলোকিত করার জন্য মোট LED প্রয়োজন 5 এবং 3 আলো জ্বালানোর জন্য মোট LED প্রয়োজন 5। তাই প্রদর্শনের জন্য প্রয়োজনীয় পরিবর্তনগুলির মোট সংখ্যা হল −5

Input − num = “576 ”
Output − count is 10

ব্যাখ্যা − 5 আলোকিত করতে মোট LED প্রয়োজন 5, 7 আলোকিত করতে মোট LED প্রয়োজন 3 এবং 6 আলো জ্বালানোর জন্য মোট LED প্রয়োজন 6৷ তাই প্রদর্শনের জন্য প্রয়োজনীয় পরিবর্তনগুলির মোট সংখ্যা হল :10

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

  • পূর্ণসংখ্যার মানের স্ট্রিং ইনপুট করুন যাতে সংখ্যাগুলি আলোকিত হয়

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

  • একটি অ্যারে তৈরি করুন যা সমস্ত LED মান সংরক্ষণ করবে৷

  • একটি অস্থায়ী পরিবর্তনশীল নিন, আসুন temp বলি যা মান সংরক্ষণ করবে।

  • i থেকে 1 এবং i দৈর্ঘ্যের চেয়ে কম লুপ শুরু করুন

  • লুপের ভিতরে, temp + abs([LED[str[i] - '0'] - LED[n[i-1] - '0'] সহ তাপমাত্রা সেট করুন;

  • গণনা ফেরত দিন

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

উদাহরণ

#include<iostream>
using namespace std;
int countled(string str){
   // number of LED required to display a digit
   int Led[] = { 6, 2, 5, 5, 4, 5, 6, 3, 7, 5 };
   int len = str.length();
   // calculating the change
   int res = Led[str[0] - '0'];
   for (int i = 1; i < len; i++){
      res = res + abs(Led[str[i] - '0'] - Led[str[i - 1] - '0']);
   }
   return res;
}
int main(){
   string str = "123";
   cout <<"count is "<<countled(str);
   return 0;
}

আউটপুট

আমরা উপরের কোডটি চালালে আমরা নিম্নলিখিত আউটপুট পাব -

count is 5

  1. C++ এ ফ্যাক্টরিয়ালের সংখ্যা গণনা করুন

  2. C++ এ একটি পূর্ণসংখ্যাতে জোড় এবং বিজোড় সংখ্যা গণনা করুন

  3. C++ এ অনন্য সংখ্যার সাথে সংখ্যা গণনা করুন

  4. C++ এ সংখ্যার অ্যারে হিসাবে উপস্থাপিত সংখ্যার সাথে একটি যোগ করা হচ্ছে?