এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যা লিঙ্ক করা তালিকায় ট্রিপলেট খুঁজে পায় যার যোগফল প্রদত্ত সংখ্যার সমান।
আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷
৷-
লিঙ্ক করা তালিকার জন্য একটি স্ট্রাকট নোড তৈরি করুন।
-
ডামি ডেটা দিয়ে লিঙ্ক করা তালিকা তৈরি করুন।
-
তিনটি উপাদানের জন্য তিনটি অভ্যন্তরীণ লুপ লিখুন যা লিঙ্ক করা তালিকার শেষ পর্যন্ত পুনরাবৃত্তি করে৷
-
তিনটি উপাদান যোগ করুন।
-
প্রদত্ত সংখ্যার সাথে যোগফলের তুলনা করুন।
-
যদি উভয়ই সমান হয়, তাহলে উপাদানগুলি প্রিন্ট করুন এবং লুপগুলি ভেঙে দিন৷
-
উদাহরণ
আসুন কোডটি দেখি।
#include <bits/stdc++.h>
using namespace std;
class Node {
public:
int data;
Node* next;
};
void insertNewNode(Node** head_ref, int new_data) {
Node* new_node = new Node();
new_node->data = new_data;
new_node->next = (*head_ref);
*head_ref = new_node;
}
void findTriplet(Node *head_one, Node *head_two, Node *head_three, int givenNumber) {
bool is_triplet_found = false;
Node *a = head_one;
while (a != NULL) {
Node *b = head_two;
while (b != NULL) {
Node *c = head_three;
while (c != NULL) {
int sum = a->data + b->data + c->data;
if (sum == givenNumber) {
cout << a->data << " " << b->data << " " << c->data << endl;
is_triplet_found = true;
break;
}
c = c->next;
}
if (is_triplet_found) {
break;
}
b = b->next;
}
if (is_triplet_found) {
break;
}
a = a->next;
}
if (!is_triplet_found) {
cout << "No triplet found" << endl;
}
}
int main() {
Node* head_one = NULL;
Node* head_two = NULL;
Node* head_three = NULL;
insertNewNode (&head_one, 4);
insertNewNode (&head_one, 3);
insertNewNode (&head_one, 2);
insertNewNode (&head_one, 1);
insertNewNode (&head_two, 4);
insertNewNode (&head_two, 3);
insertNewNode (&head_two, 2);
insertNewNode (&head_two, 1);
insertNewNode (&head_three, 1);
insertNewNode (&head_three, 2);
insertNewNode (&head_three, 3);
insertNewNode (&head_three, 4);
findTriplet(head_one, head_two, head_three, 9);
findTriplet(head_one, head_two, head_three, 100);
return 0;
} আউটপুট
আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।
1 4 4 No triplet found
উপসংহার
টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।