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

সি++ প্রোগ্রাম: ১-ডি অবজেক্ট এবং M বিন (Bins) এর জন্য ফার্স্ট ফিট ডিক্রিজিং (First Fit Decreasing) বাস্তবায়ন

এখানে ১-ডি অবজেক্ট (1-D objects) এবং M বিন (bins) এর জন্য ফার্স্ট ফিট ডিক্রিজিং (First Fit Decreasing) বাস্তবায়ন করার একটি সি++ প্রোগ্রাম দেওয়া হলো।

প্রয়োজনীয় ফাংশন ও সিউডোকোড:

শুরু    ফাংশন binPack() রিটার্ন করে প্রয়োজনীয় বিনের সংখ্যা।    binC = 0 ইনিশিয়ালাইজ করুন    binVal সংরক্ষণ করার জন্য একটি অ্যারে ইনিশিয়ালাইজ করুন।    আইটেমগুলো একে একে রাখুন।    ফাংশন sort() ডিসেন্ডিং অর্ডারে বাবল সোর্ট (bubble sort) করতে। শেষ

উদাহরণ কোড

#include <iostream> using namespace std; void binPack(int *a, int s, int n) {    int binC = 0;    int binVal[n];    for (int i = 0; i < n; i++)    binVal[i] = s;    for (int i = 0; i < n; i++)    for (int j = 0; j < n; j++)    {       if (binVal[j] - a[i] >= 0)       {          binVal[j] -= a[i];          break;       }    }    for (int i = 0; i < n; i++)    if (binVal[i] != s)    binC++;    cout << "Number of bins required using first fit decreasing algorithm    is: "    << binC; } int* sort(int *seq, int n) {    for (int i = 0; i < n; i++)    for (int j = 0; j < n - 1; j++)    if (seq[j] < seq[j + 1])    {       seq[j] = seq[j] + seq[j + 1];       seq[j + 1] = seq[j] - seq[j + 1];       seq[j] = seq[j] - seq[j + 1];    }    return seq; } int main(int argc, char **argv) {    cout << "Enter the number of items in Set: ";    int n;    cin >> n;    cout << "Enter " << n << " items:";    int a[n];    for (int i = 0; i < n; i++)    cin >> a[i];    cout << "Enter the bin size: ";    int s;    cin >> s;    int *seq = sort(a, n);    binPack(seq, s, n); }

আউটপুট

সেটে আইটেমের সংখ্যা লিখুন: ৭ ৭টি আইটেম লিখুন: 4 6 7 5 3 2 1 বিন সাইজ লিখুন: ৫ ফার্স্ট ফিট ডিক্রিজিং অ্যালগরিদম ব্যবহার করে প্রয়োজনীয় বিনের সংখ্যা: ৩
  1. C++ প্রোগ্রাম: সিলেকশন সর্ট বাস্তবায়ন

  2. C++ প্রোগ্রাম: হিপ সর্ট বাস্তবায়ন

  3. C++ প্রোগ্রাম: বাবল সর্ট বাস্তবায়ন

  4. C++ প্রোগ্রাম: র‍্যাডিক্স সর্ট বাস্তবায়ন