Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:16_II / сумма многочленов
.cpp#include <iostream>
using namespace std;
struct polinom{
double koef;
int step;
polinom *next;
};
void creat_polinom(polinom *&nach, int n){
polinom *p;
nach=NULL;
int i;
for(i=0;i<n;i++){
p=new polinom;
cin>>p->koef;
cin>>p->step;
p->next=nach;
nach=p;
}}
void pokaz_polinom(polinom *nach){
polinom *p;
cout<<"polinom="<<endl;
p=nach;
while(p!=NULL){
cout<<p->koef<<"*x^"<<p->step<<"+";
p=p->next;
}}
void podobny_polinom(polinom *nach){
polinom *p, *q, *pred_q;
p=nach;
while(p!=NULL){
pred_q=p;
q=p->next;
while(q!=NULL){
if(p->step==q->step){
p->koef=p->koef+q->koef;
pred_q->next=q->next;
}
pred_q=q;
q=q->next;}
p=p->next;
}}
void sum_polinom(polinom *f,polinom *g){
polinom *p;
p=f;
while(p->next!=NULL)
p=p->next;
p->next=g;
podobny_polinom(f);
}
void main(){
polinom *nach1, *nach2;
int n;
cout<<"n=";
cin>>n;
creat_polinom(nach1, n);
pokaz_polinom(nach1);
creat_polinom(nach2, n);
pokaz_polinom(nach2);
cout<<endl;
cout<<"cymma polinomov=";
sum_polinom(nach1, nach2);
cout<<endl;
pokaz_polinom(nach1);
}
Соседние файлы в папке 16_II