Меня попросили создать динамический массив, и каждый его случай указывает на список ссылок, содержащий полином.
Я пытался сделать все это, но моя программа не работает, я испробовал так много идей, ноНичего не работает, я думаю, что проблема в части распределения.программа:
#include <iostream>
using namespace std;
struct node{
int coef;
int degre;
node *next;
};
void insert(node *&h,int a,int b)
{
node *t;
t=h;
node*n;
n=new node;
n->coef=a;
n->degre=b;
n->next=NULL;
if(h=NULL)
{
h=n;
}
else
{
while(t->next!=NULL)
{
t=t->next;
}
t->next=n;
}
}
void display(node *&h,int i)
{
node *t;
t=h;
while(t!=NULL)
{
cout<<"polynome["<<i<<"] = "<<t->coef<<"X"<<t->degre<<"+";
}
cout<<endl;
}
эта функция предназначена для организации полинома на основе коэффициента
void organize(node *h)
{
int max;
node *t;
node *t2;
t=h;
while(t->next!=NULL)
{
t2=t->next;
while(t2->next)
{
if(t->coef > t2->coef)
{
max=t->coef;
}
else
{
max=t2->coef;
}
t2=t2->next;
}
t=t->next;
}
}
main ():
int main()
{
int n,c;
int a,b;
// n :size of array of pointers
cout<<"n = ";
cin>>n;
node **t;
t=new node*[n];
for(int i=0;i<n;i++)
{
//initialize pointer to null
t[i]=NULL;
//c is the size of link lists
cout<<" c = ";
cin>>c;
for(int j=0;j<c;j++)
{
t[i]=new node;
cout<<"enter the coefficient : ";
cin>>a;
cout<<"enter the degree : ";
cin>>b;
insert(t[i],a,b);
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<c;j++)
{
display(t[i],i);
}
}
for(int i=0;i<n;i++)
{
delete[]t[i];
}
delete[]t;
return 0;
}