С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/125: Рейтинг темы: голосов - 125, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 7

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

13.01.2011, 19:52. Показов 25785. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Нужна помощь в решении следующей задачи: "Составить описание класса многочленов от одной переменной, задаваемых степенью многочлена и массивом коэффициентов. Предусмотреть методы для вычисления значения многочлена для заданного аргумента, операции сложения, вычитания и умножения многочленов с получением нового объекта-многочлена, вывод на экран описания многочлена. Предусмотреть меню, позволяющее проверить все методы класса."
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.01.2011, 19:52
Ответы с готовыми решениями:

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

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

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

6
 Аватар для Filislav
339 / 285 / 62
Регистрация: 02.09.2010
Сообщений: 547
13.01.2011, 20:12
что подразумевается под многочленом?, просто учиться давно закончил.
0
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 7
13.01.2011, 20:24  [ТС]
Примерно так: F(x)=C0+C1*X+...+Cn*X^n - где Сi - фиксированные коэффициенты, а X-переменная.
0
 Аватар для Filislav
339 / 285 / 62
Регистрация: 02.09.2010
Сообщений: 547
13.01.2011, 21:09
В общем сейчас не особо по зубам мне задача, потому что действия над многочленами я к сожалению не помню. Но вот класс и вывод на экран многочлена есть.

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Lab8
{
    class Mnogoch
    {
        public int[] koef;
        public int step;
        public Mnogoch()
        {
        }
        public Mnogoch(int[] koef, int step)
        {
            this.koef = koef;
            this.step = step;
        }
        public void Pokaz(Mnogoch mn)
        {
            StringBuilder sb = new StringBuilder();
            for(int i=0;i<=step;i++)
              
                    sb.Append("+"+koef[i] + "x^" + (step-i));
       
            
            Console.WriteLine(sb);
        }
 
    }
    class Program
    {
 
        static void Main(string[] args)
        {
            int[] mass = {3,2,5};
            int step = 2;
            Mnogoch mn1 = new Mnogoch(mass,step);
            mn1.Pokaz(mn1);
            Console.ReadKey();
        }
        
    }
 
 
}
чем смог

Добавлено через 1 минуту
Ввод массива коэффициентов при x можно еще сделать с консоли.
2
 Аватар для Unril
826 / 717 / 110
Регистрация: 06.10.2010
Сообщений: 825
Записей в блоге: 1
13.01.2011, 23:06
Прям недавно тут отвечал на такой же вопрос:
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);
        }
    }
}
(Полином, это то же, что многочлен)
2
49 / 31 / 2
Регистрация: 14.02.2013
Сообщений: 677
16.03.2014, 09:52
Unril,
Просто в познавательных целях спрашиваю, что это за код такой в комментах? Тэги какие-то, регион в директивах О_о
0
Заблокирован
16.03.2014, 10:33
SrgKord, запустите программу и сразу поймете, что делает #region - #endregion.

Эти метки скрывают часть кода - для удобства и большей читабельности.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.03.2014, 10:33
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru