Форум программистов, компьютерный форум CyberForum.ru

Деление многочленов(полиномов). доделать класс - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как сохранить текущее положение курсора в файле? http://www.cyberforum.ru/cpp-beginners/thread328189.html
как сохранить текущее положение курсора в файле , а затем в дальнейшем поставить курсор на это место??
C++ Дан текстовый файл.текст. числа, разделённые пробелами. Найти количество положительных чисел. Удалить строку с min количеством чисел (на С) Дан текстовый файл, состоящий из одной или нескольких строк. Каждая строка файла содержит числа, разделенные пробелами. Найти количество положительных чисел и их среднее арифметическое и вывести на экран. Затем удалить первую строку с минимальным количеством чисел в строке. http://www.cyberforum.ru/cpp-beginners/thread328188.html
Строки и символы. C++ C++
1.Дана строка символов до точки.Группы символов в ней между пробелами считаются словами.Определить, сколько слов содержит хотя бы одну букву "е". 2.Даны две строки символов STR1 и STR2.Вывести на экран строку, которая имеет наибольшее количество символов. 3.Дана строка символов до точки.Вывести её задом наперёд. 4.Дана строка символов до точки.Группы символов в ней между пробелами считаются...
C++ Матрица
Дана матрица A(n,m). Найти сумму тех элементов, которые являются квадратами некоторого числа m.
C++ Одномерный массив C++ http://www.cyberforum.ru/cpp-beginners/thread328180.html
1.Дан одномерный массив В состоящий из 10 элементов. Найти максимальный и минимальный элементы данного массива. 2.Написать функцию, в которой подсчитывается сумма элементов одномерного массива MAS размерностью N. 3.Написать фенкцию для нахождения среднего арифметического числа в одномерном массиве В размерностью N элементов. 4.Написать программу, которая вычисляет, сколько раз введённое с...
C++ нереальное перемножение матриц. Подскажите пожалуйста алгоритм Смысл следуйщий: даны две треугольные матрицы(под главной диагональю только нули), которые необходимо перемножить. НО! перемножать нужно строками - т.е. из первой матрицы запоминаем строку, а из второй столбец и перемножаем. подробнее

Показать сообщение отдельно
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
30.06.2011, 20:34     Деление многочленов(полиномов). доделать класс
zaxi, алгоритм будет примерно такой:
1. Повышаем степень многочлена-делителя до степени многочлена-делимого.
2. Умножаем многочлен-делитель на коэффициент при старшей степени многочлена-делимого и запоминаем этот множитель, он будет очередным коэффициентом многочлена-частного.
3. Отнимаем от многочлена-делимого полученный многочлен-делитель (таким образом, избавляемся от старшей степени многочлена-делимого, понижая его степень).
4. Если степень многочлена-делимого больше либо равна степени многочлена-делителя, перейти на пункт 1.

Разберём пример (многочлены из вики взяты):
Необходимо разделить x^3 - 12x^2 - 42 на x - 3. Имеем два массива коэффициентов:
Код
| -42 | 0 | -12 | 1 |
и
| -3 | 1 |
Повышаем степень делителя. Имеем:
Код
| -42 | 0 | -12 | 1 |
и
| 0 | 0 | -3 | 1 |
Умножаем полученный делитель на 1. Имеем:
Код
| -42 | 0 | -12 | 1 |
и
| 0 | 0 | -3 | 1 |
Отнимаем делитель от делимого. Получаем:
Код
| -42 | 0 | -9 | 0 |
и
| 0 | 0 | -3 | 1 |
Степень делимого понизилась на 1. Вернулись в начало алгоритма (степень исходного делителя всё ещё меньше делимого):
Код
| -42 | 0 | -9 |
и
| -3 | 1 |
Повысили степень делителя:
Код
| -42 | 0 | -9 |
и
| 0 | -3 | 1 |
Умножили делитель на -9:
Код
| -42 | 0 | -9 |
и
| 0 | 27 | -9 |
Отняли делитель от делимого:
Код
| -42 | -27 | 0 |
и
| 0 | 27 | -9 |
Степень исходного делителя меньше степени полученного делимого - переходим к началу:
Код
| -42 | -27 |
и
| -3 | 1 |
Повышаем степень делителя (поскольку степени равны, этот шаг оставит всё как есть):
Код
| -42 | -27 |
и
| -3 | 1 |
Умножаем делитель на -27:
Код
| -42 | -27 |
и
| 81 | -27 |
Отнимаем делитель от делимого:
Код
| -123 | 0 |
и
| 81 | -27 |
Поскольку степень полученного многочлена (1) меньше степени исходного делителя (2) - выходим. Множители 1, -9, -27 являются коэффициентами частного в прямом порядке (частное: x^2 - 9x - 27).
 
Текущее время: 23:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru