0 / 0 / 0
Регистрация: 12.04.2011
Сообщений: 8
1

Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и массивом коэффициентов.

16.05.2011, 16:01. Показов 4171. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужна программа на Java. Задание звучит так:
Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и массивом коэффициентов. Предусмотреть методы для вычисления значения многочлена для заданного аргумента, операции сложения, вычитания и умножения многочленов, вывод на экран описания многочлена. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса.

Не могу написать, нашел 2 программы на С и на C#, с идентичным заданием.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#region*using
 
using System;
 
#endregion
 
namespace ConsoleApplicationTest {
    public static class Program {
        private static void Main() {
            Polynomial p1 = new Polynomial( 1, 2 );
            Polynomial p2 = new Polynomial( 10, 20, 30, 40 );
            Console.WriteLine( p1 + p2 );
            Console.WriteLine( p1 - p2 );
            Console.WriteLine( p1 * p2 );
            Console.WriteLine( p1 == p2 );
            Console.WriteLine( (p1 * p2).Calculate( 1.2d ) );
            Console.ReadKey();
        }
    }
 
    internal class Polynomial {
        private readonly double[] _coefficients;
 
        ///<summary>
        ///  Создание*полинома*на*основе*коэффициентов.
        ///</summary>
        ///<param name = "coefficients">Коэффициенты*полинома.</param>
        public Polynomial( params double[] coefficients ) {
            _coefficients = coefficients;
        }
 
        ///<summary>
        ///  Получение*или*установка*значения*коэффициента*полинома.
        ///</summary>
        ///<param name = "n">Номер*коэффициента.</param>
        ///<returns>Значение*коэффициента.</returns>
        public double this[ int n ] {
            get { return _coefficients[ n ]; }
            set { _coefficients[ n ] = value; }
        }
 
        ///<summary>
        ///  Степень*полинома.
        ///</summary>
        public int Order {
            get { return _coefficients.Length; }
        }
 
        public override string ToString() {
            return string.Format( "Coefficients:*" + string.Join( ";*", _coefficients ) );
        }
 
        ///<summary>
        ///  Быстрый*расчет*значения*полинома*по*схеме*Горнера.
        ///</summary>
        ///<param name = "x">Аргумент*полинома.</param>
        ///<returns>Значение*полинома.</returns>
        public double Calculate( double x ) {
            int n = _coefficients.Length - 1;
            double result = _coefficients[ n ];
            for ( int i = n - 1; i >= 0; i-- ) {
                result = x * result + _coefficients[ i ];
            }
            return result;
        }
 
        ///<summary>
        ///  Сложение*полиномов.
        ///</summary>
        public static Polynomial operator +( Polynomial pFirst, Polynomial pSecond ) {
            int itemsCount = Math.Max( pFirst._coefficients.Length, pSecond._coefficients.Length );
            var result = new double[itemsCount];
            for ( int i = 0; i < itemsCount; i++ ) {
                double a = 0;
                double b = 0;
                if ( i < pFirst._coefficients.Length ) {
                    a = pFirst[ i ];
                }
                if ( i < pSecond._coefficients.Length ) {
                    b = pSecond[ i ];
                }
                result[ i ] = a + b;
            }
            return new Polynomial( result );
        }
 
        ///<summary>
        ///  Вычитание*полиномов.
        ///</summary>
        public static Polynomial operator -( Polynomial pFirst, Polynomial pSecond ) {
            int itemsCount = Math.Max( pFirst._coefficients.Length, pSecond._coefficients.Length );
            var result = new double[itemsCount];
            for ( int i = 0; i < itemsCount; i++ ) {
                double a = 0;
                double b = 0;
                if ( i < pFirst._coefficients.Length ) {
                    a = pFirst[ i ];
                }
                if ( i < pSecond._coefficients.Length ) {
                    b = pSecond[ i ];
                }
                result[ i ] = a - b;
            }
            return new Polynomial( result );
        }
 
        ///<summary>
        ///  Умножение*полиномов.
        ///</summary>
        public static Polynomial operator *( Polynomial pFirst, Polynomial pSecond ) {
            int itemsCount = pFirst._coefficients.Length + pSecond._coefficients.Length - 1;
            var result = new double[itemsCount];
            for ( int i = 0; i < pFirst._coefficients.Length; i++ ) {
                for ( int j = 0; j < pSecond._coefficients.Length; j++ ) {
                    result[ i + j ] += pFirst[ i ] * pSecond[ j ];
                }
            }
 
            return new Polynomial( result );
        }
 
        ///<summary>
        ///  Равенство*полиномов.
        ///</summary>
        public static bool operator ==( Polynomial pFirst, Polynomial pSecond ) {
            if ( pFirst._coefficients.Length != pSecond._coefficients.Length ) {
                return false;
            }
            for ( int i = 0; i < pFirst._coefficients.Length; i++ ) {
                if ( pFirst[ i ] != pSecond[ i ] ) {
                    return false;
                }
            }
            return true;
        }
 
        public static bool operator !=( Polynomial pFirst, Polynomial pSecond ) {
            return !(pFirst == pSecond);
        }
    }
}

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <iostream.h>
#include <stdlib.h>
#include <time.h>                 
class Mnogochlen
{               
int a[100], n;
public: void vvod();                
void vichisl();             
void slozh(Mnogochlen mA, Mnogochlen mB);                
void vichit(Mnogochlen mA, Mnogochlen mB);                
void umnozh(Mnogochlen mA, Mnogochlen mB);                
void vivod();                
};                
void main()                
{               
Mnogochlen a,b,c;                
a.vvod();               
//a.vivod();                
//a.vichisl();                 
//a.vvod();                 
b.vvod();                 
c.umnozh(a,b);
cout<<"C(x) = ";
c.vivod();}                 
void Mnogochlen::vvod()                
{
cout<<endl;
cout<<"vvedite stepen' mnogochlena: "; cin>>n;
//cout<<endl;
cout<<"vvedite koefficienti\n";
for (int k=0;k<=99;k++) {a[k]=0;}
for (int i=0;i<=n;i++) {cout<<" a"<<i<<" = "; cin>>a[i];}
//cout<<endl;           
}         
void Mnogochlen::vivod()               
{                
int f;                
f=0;
//cout<<endl;
for (int i=n;i>=0;i--)                
if (a[i]!=0)
{ if(f==0){if(i!=0)cout<<a[i]<<"*x^"<<i; else cout<<a[i];                 
f++;}                 
else {if(i!=0)
if(a[i]>0) cout<<"+"<<a[i]<<"*x^"<<i;
else cout<<a[i]<<"*x^"<<i;                
else
if(a[i]>0) cout<<"+"<<a[i];
else cout<<a[i];
f++;} }
if (f==0) {cout<<0;}
cout<<endl;                 
}          
void Mnogochlen::vichisl()                 
{
cout<<endl;                 
int x,v,vx;                
v=0;
cout<<"vvedite X: "; cin>>x;                
vx=1;
for (int i=0;i<=n;i++) { v=v+a[i]*vx; vx=vx*x;}
cout<<"f("<<x<<") = "<<v;
cout<<endl;                 
}                 
void Mnogochlen::slozh(Mnogochlen mA, Mnogochlen mB)                 
{
for (int k=0;k<=99;k++) {a[k]=0;}
if (mA.n>mB.n) n=mA.n; else n=mB.n;
for (int i=0;i<=n;i++) {a[i]=mA.a[i]+mB.a[i]; }                
}                
void Mnogochlen::vichit(Mnogochlen mA, Mnogochlen mB)                
{
for (int k=0;k<=99;k++) {a[k]=0;}
if (mA.n>mB.n) n=mA.n; else n=mB.n;
for (int i=0;i<=n;i++) {a[i]=mA.a[i]-mB.a[i]; }                
}                
void Mnogochlen::umnozh(Mnogochlen mA, Mnogochlen mB)                 
{
for (int k=0;k<=99;k++) {a[k]=0;}                 
n=mA.n+mB.n;
for (int i=0;i<=mA.n;i++) for (int j=0;j<=mB.n;j++) {a[i+j]=a[i+j]+mA.a[i]*mB.a[j]; }                 
}
Буду очень благодарен за помощь.
0
16.05.2011, 16:01
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2011, 16:01
Ответы с готовыми решениями:

Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и массивом коэффициентов
Здравствуйте,есть задание : Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и массивом...

Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и массивом коэффициентов
Помогите, пожалуйста. Есть следующая задача Составить описание класса многочлена от одной переменной, задаваемого степенью многочлена...

Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и массивом коэффициентов
Доброго времени суток. Нужна помощь в решении следующей задачи: &quot;Составить описание класса многочленов от одной переменной, задаваемых...

7
142 / 105 / 16
Регистрация: 21.04.2011
Сообщений: 402
16.05.2011, 16:17 2
Интересно, вы думаете кто то будет делать за вас всю работу? За больше спасибо?
Порой такие студенты меня забавляют
1
0 / 0 / 0
Регистрация: 12.04.2011
Сообщений: 8
16.05.2011, 16:36  [ТС] 3
Цитата Сообщение от Золотце Посмотреть сообщение
Интересно, вы думаете кто то будет делать за вас всю работу? За больше спасибо?
Порой такие студенты меня забавляют
Я написал

Цитата Сообщение от felya9
Буду очень благодарен за помощь.
Я не просил все делать, я просил помощи. А вы уже в обеих моих темах написали абсолютно бесполезные посты о том, какие вы умные все знаете, а все остальные "Студенты" только и хотят, что бы им все написали и почтой отправили.
0
142 / 105 / 16
Регистрация: 21.04.2011
Сообщений: 402
16.05.2011, 17:27 4
Окей, я готов оказать помощь. Что надо?
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
17.05.2011, 10:41 5
Цитата Сообщение от Золотце Посмотреть сообщение
Окей, я готов оказать помощь. Что надо?
Судя по самому первому сообщению - надо написать программу.
0
 Аватар для popov654
33 / 33 / 7
Регистрация: 09.04.2011
Сообщений: 119
17.05.2011, 23:01 6
Ну так у Вас всё проще чем я думал) В чём сложность первый код на C# переписать на Java?
И всех делов-то
Ну ещё интерфейс какой-нибудь прикрутить
0
142 / 105 / 16
Регистрация: 21.04.2011
Сообщений: 402
18.05.2011, 00:54 7
Разве не понятно? Товарищ надеется что за него все перепишут
0
 Аватар для popov654
33 / 33 / 7
Регистрация: 09.04.2011
Сообщений: 119
18.05.2011, 01:09 8
Так что там переписывать то? Час работы.
Он здесь ждёт ответа гораздо дольше уже)
0
18.05.2011, 01:09
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.05.2011, 01:09
Помогаю со студенческими работами здесь

Составить описание класса многочленов от одной переменной ,задаваемых степенью многочлена и массивом коэффициентов
Столкнулся с такой проблемой!Никак не могу поянть с чего надо начинать, я так понял что это полином? Вот полный текст задания ...

Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и массивом коэффициентов
На дом была дана задача. Условие задачи: &quot;Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и...

Составить описание классов многочленов от одной переменной, задаваемых степенью многочлена и массивом коэффициентов
Помогите решить задачу, заранее спасибо) Составить описание классов многочленов от одной переменной, задаваемых степенью многочлена и...

Составить описание класса многочленов от одной переменной, задаваемых степенью и массивом коэффицентов
Всем доброе время пожалуйста чуть чуть подделать задачу, выдает ошибку, что нет Main для точки входа, помогите пожалуйста чтоб работала ...

Составить описание класса многочленов от одной переменной
Составить описание класса многочленов от одной переменной, задаваемых степе- нью многочлена и массивом коэффициентов. Предусмотреть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Система безопасности в Laravel: возможности и примеры
Wired 18.02.2025
Каждый день появляются новые виды атак и уязвимостей, которые могут поставить под угрозу конфиденциальные данные пользователей и функционирование всей системы. В этом контексте выбор надежного. . .
Давайте сравним Django и Laravel
Wired 18.02.2025
Django и Laravel - два мощных инструмента, которые часто сравнивают между собой. Оба фреймворка предлагают разработчикам богатый набор возможностей для создания масштабируемых веб-приложений, но. . .
Laravel или React - что лучше?
Wired 18.02.2025
В разработке веб выбор правильного инструмента часто определяет успех всего проекта. Особенно интересным представляется сравнение Laravel и React - двух популярных технологий, которые часто. . .
Laravel 11: новые возможности, гайд по обновлению
Wired 18.02.2025
Laravel 11 - это новая масштабная версия одного из самых популярных PHP-фреймворков, выпущенная в марте 2024 года. Эта версия продолжает традицию внедрения передовых технологий и методологий. . .
Миграции в Laravel
Wired 18.02.2025
Разработка веб-приложений на Laravel неразрывно связана с управлением структурой базы данных. При работе над проектом часто возникает необходимость вносить изменения в схему базы данных - добавлять. . .
Аутентификация в Laravel
Wired 18.02.2025
В современном мире веб-разработки безопасность пользовательских данных становится критически важным аспектом любого приложения. Laravel, как один из самых популярных PHP-фреймворков, предоставляет. . .
Laravel или Symfony: что лучше для старта?
Wired 18.02.2025
В веб-разработке выбор правильного фреймворка может стать определяющим фактором успеха проекта. Особенно это актуально для PHP - одного из самых распространенных языков программирования, где Laravel. . .
Что нового в Laravel 12
Wired 18.02.2025
С момента своего появления в 2011 году Laravel постоянно развивается, внедряя инновационные решения и совершенствуя существующие возможности. В начале 2025 года ожидается выход Laravel 12 - новой. . .
Роутер в Laravel: как работать с маршрутами
Wired 18.02.2025
Маршрутизация - один из основополагающих элементов любого веб-приложения на Laravel, определяющий как приложение отвечает на HTTP-запросы к различным URL-адресам. По сути, роутинг - это механизм. . .
Интеграция шаблона Bootstrap в Laravel PHP
Wired 18.02.2025
Разработка веб-приложений в современном мире требует не только надежного бэкенда, но и привлекательного, отзывчивого интерфейса. Laravel, как один из самых популярных PHP-фреймворков, отлично. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru