mam do wykonania zadanie:
Zaprojektować, zaimplementować i przetestować typ danych reprezentujący wielomiany.
Wielomian ma być w nim pamiętany w postaci listy cyklicznej, w której każdy element przechowuje współczynnik oraz wykładnik. Pierwszy element tej listy ma mieć ustawione wartości 0 oraz -1:
Należy zapewnić obsługę operacji wejścia/wyjścia, operatory +,- .
jak rozumiem w zadaniu mam napisać listę cykliczną przechowująca wielomiany ale nie wiem jak zrobić aby współczynnik i wykładnik był przechowywany w 1 elemencie czy jest to w ogóle możliwe czy poprostu czegoś nie rozumie w tym zadaniu
poniżej kod tworzący listę cykliczną
#include <iostream>
using namespace std;
struct Node {
int data;
struct Node *next;
};
struct Node* head = NULL;
void insert(int newdata) {
struct Node *newnode = (struct Node *)malloc(sizeof(struct Node));
struct Node *ptr = head;
newnode->data = newdata;
newnode->next = head;
if (head!= NULL) {
while (ptr->next != head)
ptr = ptr->next;
ptr->next = newnode;
} else
newnode->next = newnode;
head = newnode;
}
void display() {
struct Node* ptr;
ptr = head;
do {
cout<<ptr->data <<" ";
ptr = ptr->next;
} while(ptr != head);
}
przykładowy wielomian
P(x)= 20x^4 + 6x^7 - 5x
powinien być przechowywany tak:
1 el (20 i 4 ) 2 el (6 i 7) 3 el (5 i 1)
ale mogę tylko dodawać pojedyncze wartości do elementów listy
np:
int main() {
insert(20);
insert(4);
insert(6);
insert(7);
insert(5);
insert(1);
display();
return 0;
}