|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.08.2013, 15:04 | #1 |
Новичок
Джуниор
Регистрация: 16.08.2013
Сообщений: 5
|
нужно реализовать на с++, спасибо)
Заданы степени и коэффициенты двух полиномов. Выполните следующие действия:
1) выведите полиномы на печать; найдите разность двух полиномов и выведите результат на печать. 2) выведите полиномы на печать;умножьте полинома на число и выведите результат на печать. 3) выведите полиномы на печать;выполите дифференцирование полинома (получение нового объекта-многочлена – производной заданного многочлена) и выведите результат на печать. 4) выведите полиномы на печать;выполните сложение полиномов; сравните на равенство два полинома |
16.08.2013, 15:13 | #2 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
...это не фриланс-раздел команды раздавать.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
16.08.2013, 15:25 | #3 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,679
|
Действительно, если есть наработки, то выкладывайте, в противном случае ФРИЛАНС...
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
16.08.2013, 15:25 | #4 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
эммм, и есть какие-нибудь наработки?
|
16.08.2013, 15:58 | #5 |
Новичок
Джуниор
Регистрация: 16.08.2013
Сообщений: 5
|
в инэте искал про полином и вот что нашел, там не совсем понятно, и выводит ошибки
#include <iostream.h>
#include<stdlib.h> #include <conio.h> #include <math.h> class Polynom { int n; double *koef; public: Polynom(); //конструкторы Polynom(int k); Polynom(int k,double *mas); Polynom(const Polynom&ob); //конструктор копирования ~Polynom(){delete[]koef;} void GiveMemory(int k); void SetPolynom(int k,double *mas); void SetDegree(int k){n=k;}; //установить степень void CalculateValue(double x); //вычислить значение int GetDegree(){return n;}; //получить степень double GetOneCoefficient(int i){return(koef[i]);}; Polynom operator+(Polynom ob); //перегрузка операторов Polynom operator*(Polynom ob); double& operator[](int i){return(koef[i]);}//перегрузка [] Polynom& operator = (const Polynom p) { if(&p==this) return *this; if(koef) delete [] koef; n=p.n; koef=new double [p.n+1]; for(int i=0;i<=p.n;i++) koef[i]=p.koef[i]; return *this; } friend ostream& operator<<(ostream& mystream,Polynom &ob); friend istream& operator>>(istream& mystream,Polynom &ob); int min(int n,int m) {return (n<m)? n:m; } int max(int n,int m) {return (n>m)? n:m; } }; //*********** Polynom() ********************************** Polynom::Polynom() { randomize(); n=random(5); koef=new double[n+1]; if(!koef){cout<<"Error";getch();ret urn;} for(int i=n;i>=0;i--) koef[i]=random(10)-5; } //************* Polynom(int k) ******************************* Polynom::Polynom(int k) { n=k; koef=new double[n+1]; if(!koef){cout<<"Error";getch();ret urn;} for(int i=n;i>=0;i--) koef[i]=random(10)-5; } //****************** Polynom(int k,double mas[]) ****************** Polynom::Polynom(int k,double mas[]) {n=k; koef=new double[n+1]; if(!koef){cout<<"Error";getch();ret urn;} for(int i=n;i>=0;i--) koef[i]=mas[i]; } //*************** Polynom(const Polynom&ob) ********************* Polynom::Polynom(const Polynom&ob) {n=ob.n; koef=new double[n+1]; if(!koef){cout<<"Error";getch();ret urn;} for(int i=0;i<=n;i++) koef[i]=ob.koef[i]; } //**************** void GiveMemory(int k) ********************** void Polynom::GiveMemory(int k) { if(koef) delete [] koef; koef=new double[k+1]; if(!koef){cout<<"Error";getch();ret urn;} } //******************** SetPolynom ************************** void Polynom::SetPolynom(int k,double *mas) { n=k; if(koef) delete [] koef; koef = new double [n+1]; for(int i=n;i>=0;i--) koef[i]=mas[i]; } //*************** CalculateValue ***************************** void Polynom::CalculateValue(double x=1.0) { double s; int i; for(s=koef[0],i=1;i<=n;i++) s=s+koef[i]*pow(x,i); cout<<"f("<<x<<")="; cout<<s<<endl; } //**************** Polynom operator+(Polynom ob) *************** Polynom Polynom:perator+(Polynom ob) { int i; Polynom rab; rab.GiveMemory(max(n,ob.GetDegree() )); for(i=0;i<=min(n,ob.GetDegree());i+ +) rab.koef[i]=koef[i]+ob.GetOneCoefficient(i); if(n<ob.GetDegree()) { for(i=min(n,ob.GetDegree())+1;i<=ob .GetDegree();i++) rab.koef[i]=ob.GetOneCoefficient(i); rab.n=ob.GetDegree(); } else { for(i=min(n,ob.GetDegree())+1;i<=n; i++) rab.koef[i]=koef[i]; rab.n=n; } return rab; } //*************** Polynom operator*(Polynom ob) *************** Polynom Polynom:perator*(Polynom ob) { int i,j,k; double s; Polynom rab; rab.GiveMemory(n+ob.GetDegree()); for(i=0;i<=n+ob.GetDegree();i++) { s=0; for(j=0;j<=n;j++) for(k=0;k<=ob.GetDegree();k++) if(j+k==i)s=s+koef[j]*ob.GetOneCoefficient(k); rab.koef[i]=s; } rab.n=n+ob.GetDegree(); return rab; } //********** ostream& operator<<(ostream& mystream,Polynom &ob) ****** ostream& operator<<(ostream& mystream,Polynom &ob) { char c=' '; //пропустим “+” перед первым коэффициентом for(int i=ob.n;i>=0;i--) { double ai=ob.koef[i]; if(ai==0) continue; else {if(ai>0) mystream<<c; mystream<<ai;} if(i==0) continue; else mystream<<"x"; if(i==1) continue; else mystream<<"^"<<i; if(ai!=0)c='+'; } if(c==' ')mystream<<0; mystream<<endl; return mystream; } //********* istream& operator>>(istream& mystream,Polynom &ob) * istream& operator>>(istream& mystream,Polynom &ob) { int i; cout<<"Enter Degree:"; mystream>>ob.n; cout<<endl; for(i=ob.n;i>=0;i--) { cout<<"Enter koeff "<<i<<":"; mystream>>ob.koef[i]; } return mystream; } |
16.08.2013, 15:58 | #6 |
Новичок
Джуниор
Регистрация: 16.08.2013
Сообщений: 5
|
продолжение
//******************** MAIN ****************************
int main(int argc, char* argv[]) { const int m=3; Polynom f,g,masp[m],*p1,s; int n=5,i; double K[6]={1.0,3.2,0.0,4.1,0.0,1.1}; p1=new Polynom(n,K); cout<<*p1; p1->CalculateValue(2.0); cin>>f; cout<<" f(x)= "; cout<<f; cout<<" g(x)= "; cout<<g; s=f+g; cout<<"f(x)+g(x) = "; cout<<s; s=f*g; cout<<" f(x)*g(x) = "; cout<<s; s=masp[0]; cout<<masp[0]; for(i=1;i<m;i++) { s=s+masp[i]; cout<<masp[i];} cout<<"Summa: "; cout<< s; while(!kbhit()); delete p1; return 0; } // не читает ostream и istream и вообще программа работает? |
16.08.2013, 16:03 | #7 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,679
|
Шикарно, ну вот все гараздо упрощается... Внесите код в теги (#)
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
16.08.2013, 16:19 | #8 |
Новичок
Джуниор
Регистрация: 16.08.2013
Сообщений: 5
|
может ты исправишь и отправишь мне?
|
16.08.2013, 16:32 | #9 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
У Вас есть класс, представляющий полином.
Для получения объекта класса Polinom есть 4 конструктора. Код:
|
16.08.2013, 16:38 | #10 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
abzik_c
это не твой код, не держи нас за идиотов ) или указывай что именно в нем не работает или предлагай цену работы. код, который ты тут скинул взят отсюда: www.bsu.by/Cache/pdf/87073.pdf Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужно написать на Паскале. зарание Спасибо | Mainln | Помощь студентам | 1 | 20.03.2013 15:46 |
решение задач на pascal, очень нужно!!! спасибо) | ofeo | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 12.03.2013 00:48 |
Здравствуйте. Нужно написать программу в с++. Заранее спасибо. | ekaterin | Помощь студентам | 1 | 14.05.2012 21:08 |