Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

ЛР 4. Арифметические операции с полиномамиЦель работы: Разработать программу, выполняющую арифметические операции с полиномами трех переменных (x, y и z): сложение, вычитание, умножение на константу, умножение двух полиномов. Считается, что полином составлен из мономов от трех переменных с ограничением на степень каждой переменой от 0 до 9 (Опцианально можно расширить данное ограничение). Коэффициенты полинома - вещественные числа. Работоспособность программы необходимо проверить с помощью Google Test-ов. Кроме того, необходимо разработать пользовательское консольное приложение.

Особенности реализации:

  • В качестве структуры хранения полинома использовать список мономов с ненулевыми коэффициентами (односвязный или двухсвязный). Односвязный список удобнее реализовать с фиктивной головой. Элементы списка хранить упорядоченными.
  • Степень полинома хранить в "свернутом" виде, т. е. степень должна быть представлена как трехзначное число, где число сотен – это степень при переменной “x”, число десятков - степень при переменной “y”, число единиц - степень при переменной “z”.
  • Сложение полиномов осуществлять алгоритмом слияния упорядоченных массивов.
  • Вычитание полиномов допускается выполнять через сложение с умножением на константу (C = A - B = A + (-1)*B)
  • При умножении и сложение (вычитание) необходимо следить, чтобы в итоговом полиноме были приведены подобные слагаемые и не хранилось мономов с нулевым коэффициентом.
  • Если при умножении полиномов полученные степени переменных больше 9, выводить сообщение об ошибке.
  • Считывание полинома у пользователя допускается в любом удобном для вас виде. Необходимо предоставить пользователю правила ввода данных
  • Следует учесть, что пользователь может вводить полином, не упорядочив в нем мономы.
2 года назад
guest_16520033587438
2 года в сервисе
Был
2 года назад
  • Похожие заказы
  • При выполнении программы следует использовать конструкторы и деструкторы. Создать класс Train. Переменная типа Train должна содержать следующие поля: номер; количество остановок; количество вагонов; время отправления; время прибытия. Предусмотреть функции для выполнения следующих операций: инициализация информации, консольный ...

    Завершен
    2 года назад
  • Создайте динамический класс для работы с матрицами.Считайте, что компоненты имеют целый тип. Осуществить перегрузку символов операций: “ = ” – присвоение, “ * ” – поэлементное умножение, ...

    Завершен
    2 года назад
  • Создать класс Aqueue – структура типа очередь, базирующаяся на массиве указателей фиксированного размера. Предусмотреть, чтобы очередь имела возможность вмещать значения типа, соответствующего библиотечному классу string. Предусмотреть функции – члены класса для выполнения следующих операций: аdd() – ...

    Закрыт
    2 года назад
  • Вариант 4. Создать базовый класс Человек. Каждый объект класса должен содержать следующие данные: ФИО, год рождения, пол.Класс должен выполнять следующие действия: инициализация информации, ввод-вывод информации.Создать производный класс Студент, имеющий дополнительные данные: год поступления, № зачетной ...

    Завершен
    2 года назад
  • Разрабатываемый класс должен содержать конструктор копирования. Создать класс Aqueue – структура типа очередь, базирующаяся на массиве указателей фиксированного размера. Предусмотреть, чтобы очередь имела возможность вмещать значения типа, соответствующего библиотечному классу string. Предусмотреть функции – члены класса ...

    Завершен
    2 года назад
  • Здравствуйте, необходимо описать параллельный умножитель 2Х4 на языке [b]Verilog HDL[/b] К555ИП8 (SN74LS261N) [b]Datasheet[/b] в приложении. Единственное требование: минимизация количества строк кода [b]Дедлайн[/b]: до субботы (возможна доплата за срочность) Надеюсь на ваш отклик, спасибо!

    Закрыт
    2 года назад