bsc

Comprehensive codebase and cou...
Log | Files | Refs | Activity | README | LICENSE

commit 5369608e118f8df35e2df1ebddd64edde4933d7b
parent be3e8b40603de0093837f155876d1ee61b9790d1
Author: Amit Dutta <mail@amit.is-a.dev>
Date:   Sat,  1 Aug 2026 21:41:34 +0530

Merge pull request #20 from notamitgamer/edit-20260801-214105

practice
Diffstat:
Mmd.py | 1+
Asemester_2/tuition/apc_003.cpp | 164+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 165 insertions(+), 0 deletions(-)

diff --git a/md.py b/md.py @@ -369,6 +369,7 @@ def build_md(filename, lang_label, fence_lang, author, date, repo, license_str, "::: info Printing the code", "To print this file, open it on GitHub and click **Raw** before printing, or use the **Download Raw** button above and print directly from that page.", ":::", + "---", "", ] diff --git a/semester_2/tuition/apc_003.cpp b/semester_2/tuition/apc_003.cpp @@ -0,0 +1,163 @@ +/* + * Author: Amit Dutta <amitdutta4255@gmail.com> | Date: 01 Aug 2026 + * Repo: https://github.com/notamitgamer/bsc + * License: MIT + */ + +/* Write a C++ program to add two polynomial equations and display the resultant polynomial. */ + +#include<iostream> +using namespace std; + +typedef struct Node { + double coeff; + int expo; + Node *next; +} node; + +class mains { +private: +node *head1 = nullptr, *head2 = nullptr, *rear = nullptr; +public: + void input() { + int n1; + cout << "Enter the degree of first polynomial equation: "; + cin >> n1; + for(int i = 0; i <= n1; i++) { + node *newNode = new node; + cout << "Enter the coefficient for n^" << i << ": "; + cin >> newNode -> coeff; + newNode -> expo = i; + newNode -> next = nullptr; + + if(head1 == nullptr) { + head1 = newNode; + rear = newNode; + } else { + rear -> next = newNode; + rear = newNode; + } + } + cout << "You entered: "; + display(head1); + cout << endl; + + int n2; + cout << "\nEnter the degree of second polynomial equation: "; + cin >> n2; + for(int i = 0; i <= n2; i++) { + node *newNode = new node; + cout << "Enter the coefficient for n^" << i << ": "; + cin >> newNode -> coeff; + newNode -> expo = i; + newNode -> next = nullptr; + + if(head2 == nullptr) { + head2 = newNode; + rear = newNode; + } else { + rear -> next = newNode; + rear = newNode; + } + } + cout << "You entered: "; + display(head2); + cout << endl; + } + + void display(node *head) { + node *temp = head; + bool first = true; + bool second = true; + while(temp != nullptr) { + if(first) { + cout << temp -> coeff; + first = false; + temp = temp -> next; + } + if(second) { + if(temp -> coeff >= 0) + cout << " + " << temp -> coeff << "x"; + else + cout << " - " << (-temp -> coeff) << "x"; + second = false; + } else { + if(temp -> coeff >= 0) + cout << " + " << temp -> coeff << "x^" << temp -> expo; + else + cout << " - " << (-temp -> coeff) << "x^" << temp -> expo; + } + temp = temp -> next; + } + } + + void calc() { + node *head = nullptr, *temp1 = head1, *temp2 = head2, *rear = nullptr; + while(temp1 != nullptr && temp2 != nullptr) { + node *newNode = new node; + newNode -> coeff = (temp1 -> coeff + temp2 -> coeff); + newNode -> expo = temp1 -> expo; + newNode -> next = nullptr; + + if(head == nullptr) { + head = newNode; + rear = newNode; + } else { + rear -> next = newNode; + rear = newNode; + } + + temp1 = temp1 -> next; + temp2 = temp2 -> next; + } + + while(temp1 != nullptr) { + node *newNode = new node; + newNode -> coeff = temp1 -> coeff; + newNode -> expo = temp1 -> expo; + newNode -> next = nullptr; + + rear -> next = newNode; + rear = newNode; + + temp1 = temp1 -> next; + } + + while(temp2 != nullptr) { + node *newNode = new node; + newNode -> coeff = temp2 -> coeff; + newNode -> expo = temp2 -> expo; + newNode -> next = nullptr; + + rear -> next = newNode; + rear = newNode; + + temp2 = temp2 -> next; + } + + cout << "\nSum: "; + display(head); + freeList(head); + } + + void freeList(node *head) { + node *temp; + while(head != nullptr) { + temp = head; + head = head -> next; + delete temp; + } + } + void doAll() { + input(); + calc(); + freeList(head1); + freeList(head2); + } +}; + +int main() { + mains obj; + obj.doAll(); + return 0; +}+ \ No newline at end of file
© notamitgamer • Site Built: 2026-09-05 01:53:16 UTC • git-mirror commit: c170d72 [view raw info]
Originally created with stagit • modified by notamitgamer
Forked from github.com/notamitgamer/git-mirror