কম্পিউটার

অ্যারের আকারের অর্ধেকের বেশি ডিভিশন উপাদানের পরে সংখ্যা গণনা করার জন্য C++ কোড


ধরুন আমাদের n উপাদান সহ একটি অ্যারে A আছে। আমাদের কিছু অ-শূন্য পূর্ণসংখ্যা d খুঁজে বের করতে হবে, যেমন অ্যারের প্রতিটি সংখ্যাকে d দ্বারা ভাগ করার পরে, অ্যারেতে উপস্থাপিত ধনাত্মক মানগুলির সংখ্যা অ্যারের আকারের অর্ধেকের চেয়ে বেশি বা সমান। . যদি d এর একাধিক মান থাকে যা শর্ত পূরণ করে। যদি একাধিক উত্তর থাকে, তাদের যেকোনো একটি ফেরত দিন।

সুতরাং, যদি ইনপুটটি A =[10, 0, -7, 2, 6] এর মত হয়, তাহলে আউটপুট হবে 4, কারণ এখানে n =5, তাই আমাদের কমপক্ষে $\mathrm{\left \lceil 5/ প্রয়োজন বিভাজনের পর 2\right \rceil=3}$ উপাদান। d =4 হলে, বিভাজনের পরে অ্যারে হবে [2.5, 0, −1.75, 0.5, 1.5], যেখানে 3টি ধনাত্মক সংখ্যা 2.5, 0.5 এবং 1.5।

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

z :=0, f :=0n :=Afor ইনিশিয়ালাইজের আকার i :=0, যখন i  0, তারপর:(1 দ্বারা z বাড়ান) যদি a <0, তারপর:(f 1 দ্বারা বাড়ান) যদি 2 * z>=n, তারপর:ফেরত দিন অন্যথায় যখন 2 * f>=n, তারপর:ফেরত দিন -1 অন্যথায় 0 ফেরত দিন পূর্বে> 

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include নেমস্পেস ব্যবহার করে std;int solve(vector A){ int z =0, f =0; int n =A.size(); জন্য (int i =0; i  0) z++; যদি (a <0) f++; } if (2 * z>=n) রিটার্ন 1; else if (2 * f>=n) রিটার্ন -1; অন্যথায় রিটার্ন 0;}int main(){ vector A ={10, 0, -7, 2, 6}; cout < 

ইনপুট

{ 10, 0, -7, 2, 6 }

আউটপুট

1

  1. C++ এ একটি অ্যারেতে যৌগিক উপাদানের গণনা এবং যোগফল

  2. C++ এ অ্যারের আকার অর্ধেক কমিয়ে দিন

  3. C++ এ প্রদত্ত সংখ্যা পর্যন্ত অ্যারের উপাদানগুলিকে সর্বাধিক করুন

  4. একটি অ্যারের উপাদান যোগ করা যতক্ষণ না প্রতিটি উপাদান C++ এ k এর থেকে বড় বা সমান হয়ে যায়।