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

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

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

Заявки фрилансеров

Григорий
 
24 года
3 года в сервисе
Был
3 года назад
3 года назад
Влад
 
21 год
3 года в сервисе
Был
8 месяцев назад
25 отзывов(-2)
3 года назад
ТОП-5
Лабораторные работы
  • Похожие заказы

  • Разработать класс Train в C++ с полями: номер, количество остановок, вагонов, время отправления и прибытия. Реализовать функции для инициализации данных, ввода/вывода информации и расчета времени маршрута. Создать динамический массив для реестра поездов.

    Завершен
    3 года назад
  • Разработайте динамический класс для работы с матрицами, учитывающий целочисленные компоненты. Реализуйте перегрузку операторов: присвоение ' = ', поэлементное умножение ' * ', расчет определителя '~' и возведение к степени '^'. Не забудьте включить комментарии к коду и отправить готовое решение.

    Завершен
    3 года назад
  • Разработайте класс Aqueue для реализации очереди, основанной на массиве указателей фиксированного размера. Класс должен поддерживать операции добавления, извлечения, вывода значений, проверки на пустоту и возвращения количества элементов. Реализуйте методы ввода/вывода и создайте манипуляторы для форматирования потоков. Не забудьте добавить комментарии к коду.

    Закрыт
    3 года назад
  • Разработать базовый класс Человек с данными о ФИО, годе рождения и поле. Создать производный класс Инженер с дополнительными данными о ВУЗе, специальности, заработной плате и методами для инициализации и расчетов. Код должен содержать комментарии для пояснения.

    Завершен
    3 года назад
  • Необходимо разработать класс Aqueue, реализующий очередь на массиве указателей фиксированного размера для значений типа string. Класс должен включать конструктор копирования и функции: add() для добавления значений, pop() для извлечения, print() для отображения содержимого, num() для подсчета элементов, и isempty() для проверки пустоты очереди. Код должен содержать комментарии.

    Завершен
    3 года назад
  • Необходимо выполнить 1 и 2 лабораторные работы по логике и основам алгоритмизации на языке Pascal. Работы должны соответствовать указанному варианту 29 из методички. Обратите внимание на требования и формат выполнения.

    Закрыт
    3 года назад
  • Требуется описание параллельного умножителя 2Х4 на языке Verilog HDL с использованием К555ИП8 (SN74LS261N). Основное требование — минимизация количества строк кода. Дедлайн выполнения работы — до субботы, с возможностью доплаты за срочность.

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