|
1 / 1 / 0
Регистрация: 13.10.2022
Сообщений: 37
|
||||||
Polynom. Перегрузки операторов, действия с полиномами16.02.2023, 12:11. Показов 1752. Ответов 28
Метки нет (Все метки)
Всем привет! Не так давно ответили по заданию: "Разработать класс «Полином» от одной переменной. Полином задается степенью и массивом коэффициентов. Реализовать методы для вычисления значения полинома, сложения, вычитания и умножения полиномов. Перегрузить операции сложения, вычитания, умножения, присваивания для данного класса. Полином от одной переменной есть конечная формальная сумма вида: C0 + C1 * (x^1) + ... + Cn * (x^n)"
Выслали такой код:
0
|
||||||
| 16.02.2023, 12:11 | |
|
Ответы с готовыми решениями:
28
Действия с полиномами Действия с полиномами |
| 16.02.2023, 13:33 | |
|
Не по теме: Yashka0315,
0
|
|
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
|
| 17.02.2023, 19:24 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 13.10.2022
Сообщений: 37
|
|||||||||||
| 17.02.2023, 20:12 [ТС] | |||||||||||
|
Здравствуйте, да, ваш). Я с другого аккаунта зашёл, от того пароль забыл.
Ладно, немного переборщил с тем, что каждый блок кода, мне хотя бы понять вот эту часть:
0
|
|||||||||||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
|
| 17.02.2023, 20:51 | |
|
Сверху вниз.
Первая часть: - конструктор по-умолчанию - конструктор с одним параметром -- количеством коэффициентов многочления - конструктор со списком инициализации -- коэффициенты многочлена - конструктор копирования - конструктор копирования перемещением - оператор присваивания Вторая часть: - получение количества коэффициентов многочлена - получение коэффициента многочлена по степени - получение коэффициента многочлена по степени (константная версия) - оператор скобочки с параметром - вычисление значения многочлена при заданном значении неизвестной
1
|
|
|
1 / 1 / 0
Регистрация: 13.10.2022
Сообщений: 37
|
|
| 18.02.2023, 13:34 [ТС] | |
|
Понял, спасибо. А вот где template <typename T> - создание шаблона для аргумента T - это сделано для того, чтобы могли использовать в операторах не один, а несколько параметров? Где вот Polynomial<T> &a, Polynomial<T> &b.
0
|
|
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
||
| 18.02.2023, 13:44 | ||
Polynomial<float> или Polynomial<double> или любого другого типа (для которого определены операторы сложения, вычитания и умножения).
0
|
||
|
1 / 1 / 0
Регистрация: 13.10.2022
Сообщений: 37
|
||||||
| 25.02.2023, 14:23 [ТС] | ||||||
|
Извините за очередное беспокойство, но ещё прошу помощи.
Я сделал свой код из кусочков вашего кода и кода с другого источника, всё работает, но не правильно подсчитываются значения полиномов от заданного значения x и оператор присваивания складывает, а не приравнивает почему-то. Что мне надо исправить в этом коде? Вот он
0
|
||||||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
||||
| 27.02.2023, 13:25 | ||||
|
0
|
||||
|
1 / 1 / 0
Регистрация: 13.10.2022
Сообщений: 37
|
|||||||||||
| 27.02.2023, 14:09 [ТС] | |||||||||||
|
Да, не складывает, это я писал не те переменные просто в main. Сейчас разобрался, всё хорошо с присваиванием. Только подсчёт значения остался. Как примерно должна функция для подсчёта выглядеть, не подскажите? Я пытался написать, у меня вышло вот это:
Может, запись должна быть не такая:
0
|
|||||||||||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
||||||||||||
| 27.02.2023, 15:20 | ||||||||||||
|
Первый
(интересно, что если ему передать -1?) Второй
А посередине... он высчитывает полином от полинома. Походу. Не знаю, что хотел сказать этим автор. Но кода, который бы считал значение полинома при заданном Х нет. Чем вас не устроил мой код? Возьмите его. Я бы ещё понял, если бы вы пытались разобраться, но вы ведь просто склеиваете два кода, как в том меме про шиба-ину. ![]()
0
|
||||||||||||
|
1 / 1 / 0
Регистрация: 13.10.2022
Сообщений: 37
|
|||||||||||
| 27.02.2023, 19:38 [ТС] | |||||||||||
|
Вот эту функцию
Вот, к примеру, если я задам такой полином - 1 + 3 * x^1 + 5 * x^2, приравняю x к 2, например, напишу cout << "Значение полинома = " << a(x), то на экран выведется не значение от 2, а 5 - коэффициент, стоящий в позиции по индексу 2, то есть 1 - индекс 0, 3 - индекс 1 и 5 - индекс 2. Что исправить мне нужно, так и не сообразил
0
|
|||||||||||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
|||
| 27.02.2023, 19:58 | |||
|
Компилятор выбирает ту, что больше подходит. (Механизм сложнее, но будем для простоты считать пока так) Больше подходит та, что принимает int. Вот её компилятор и вызовет. А она возвращает то, что вы видите. Добавлено через 40 секунд T было бы не Polynom, а, например, double.Хотя полином полиномов тоже вполне себе жизнеспособная конструкция.
0
|
|||
|
1 / 1 / 0
Регистрация: 13.10.2022
Сообщений: 37
|
|||||||||||
| 27.02.2023, 21:01 [ТС] | |||||||||||
Добавлено через 36 минут
Что-то считает, но только понять не могу, откуда такое значение: например, полином 1 + 2 * x^1 + 3 * x^2, пишу в maine x = 2, вывожу полином(x). Если самому посчитать, то должно получится 17, но выводит 10.
1
|
|||||||||||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
|||
| 27.02.2023, 23:14 | |||
|
0
|
|||
|
1 / 1 / 0
Регистрация: 13.10.2022
Сообщений: 37
|
||||||
| 28.02.2023, 06:40 [ТС] | ||||||
0
|
||||||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
||||||||||||||||
| 28.02.2023, 11:02 | ||||||||||||||||
|
Там какая-то ерунда с размером выделяемой памяти и размером полинома.
Переписать надо все методы, использующие размер. Пример:
Добавлено через 22 минуты Баги в операторе "+".
Из-за кривой работы с размерами, код оператора "()" ничего не знает про коэфициент последней степени.
0
|
||||||||||||||||
|
1 / 1 / 0
Регистрация: 13.10.2022
Сообщений: 37
|
||||||||||||||||||
| 28.02.2023, 12:20 [ТС] | ||||||||||||||||||
0
|
||||||||||||||||||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
|||
| 28.02.2023, 12:29 | |||
|
Размер надо выставлять таким, каким он был передан. И нигде не проверять его на "меньше или равно".
0
|
|||
|
1 / 1 / 0
Регистрация: 13.10.2022
Сообщений: 37
|
||
| 28.02.2023, 12:33 [ТС] | ||
|
Вот исправил, теперь всё правильно считает, но я
0
|
||
| 28.02.2023, 12:33 | |
|
Помогаю со студенческими работами здесь
20
Перегрузки операторов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|