কম্পিউটার টিউটোরিয়াল

C++-এ ক্লাস ব্যবহার করে কমালের চেয়ে বেশি স্কোর পাওয়া স্টুডেন্ট গণনা


ধরা যাক n명의 স্টুডেন্টের ৫ বিষয়ের স্কোর দেওয়া আছে। প্রথমটি কমালের, বাকি n-1টি অন্যরা। কমালের চেয়ে বেশি টোটাল স্কোর পাওয়া স্টুডেন্টের সংখ্যা বের করতে হবে। Student ক্লাসে Input() এবং calculateTotalScore() মেথড থাকবে।

উদাহরণস্বরূপ, n=4, scores=[[25,45,32,42,30],[22,25,41,18,21],[37,42,48,45,25],[36,48,35,40,30]] হলে আউটপুট ২ (শেষ দুজন কমালের চেয়ে বেশি)।

সমাধানের ধাপসমূহ

  • Student অবজেক্টের অ্যারে s[n] তৈরি করুন
  • প্রতিটি i-এর জন্য scores[i] s[i]-এ লোড করুন
  • kamal_sc := s[0].calculateTotalScore()
  • count := ০
  • i=1 থেকে n-1 পর্যন্ত: যদি s[i].calculateTotalScore() > kamal_sc হয় তবে count++
  • count রিটার্ন করুন

উদাহরণ

নিচের ইমপ্লিমেন্টেশনটি দেখুন:

#include <iostream> #include <vector> using namespace std; class Student{    public:     int score[5];     void input(vector<int> v){         for(int i = 0; i < 5; i++)             score[i] = v[i];     }     int calculateTotalScore(){         int res = 0;         for(int i = 0; i < 5; i++)             res += score[i];         return res;     } }; int main(){     int n = 4;     vector<vector<int>> scores = {{25,45,32,42,30},{22,25,41,18,21},{37,42,48,45,25},{36,48,35,40,30}};     Student *s = new Student[n];     for(int i = 0; i < n; i++){         s[i].input(scores[i]);     }     int kamal_sc = s[0].calculateTotalScore();     int count = 0;     for(int i = 1; i < n; i++){         int total = s[i].calculateTotalScore();         if(total > kamal_sc){             count++;         }     }     cout << count; } 

ইনপুট

4, {{25,45,32,42,30}, {22,25,41,18,21}, {37,42,48,45,25}, {36,48,35,40,30}}

আউটপুট

2

  1. সি++-এ তিনটি বিন্দু সমরৈখিক (collinear) কিনা তা যাচাই করার প্রোগ্রাম

  2. C++-এ আইডেমপটেন্ট ম্যাট্রিক্স যাচাই করার প্রোগ্রাম

  3. C/C++-এ স্ট্রিং ইন্টিজার কিনা চেক করা

  4. প্রথম C++ প্রোগ্রাম কীভাবে লিখবেন?