27 / 27 / 11
Регистрация: 15.10.2013
Сообщений: 880
|
|
1 | |
Найти производную многочлена09.01.2016, 10:36. Показов 13938. Ответов 21
Метки нет (Все метки)
Задача простая - найти производную многочлена. Многочлен может быть большой, но только с неотрицательными целыми степенями и целыми коэффициентами. Вывод должен быть без пробелов и в порядке убывания степеней, хотя ввод этому правилу может не удовлетворять. Также на ввод может быть подан многочлен с неприведенными слагаемыми.
Sample Input 1: x^2+x Sample Output 1: 2*x+1 Sample Input 2: 2*x^100+100*x^2 Sample Output 2: 200*x^99+200*x Sample Input 3: x^10000+x+1 Sample Output 3: 10000*x^9999+1 Sample Input 4: -x^2-x^3 Sample Output 4: -3*x^2-2*x Sample Input 5: x+x+x+x+x+x+x+x+x+x Sample Output 5: 10
0
|
09.01.2016, 10:36 | |
Ответы с готовыми решениями:
21
Получить производную многочлена Найти значение многочлена при заданном аргументе, производной от многочлена Найти производную f'(x) Найти коэффициенты многочлена |
Модератор
13727 / 10923 / 6480
Регистрация: 18.12.2011
Сообщений: 29,157
|
||||||
09.01.2016, 10:41 | 2 | |||||
Сдвигаете массив коэффициентов на один элемент и умножаете на номер этого элемента.
На место самого старшего пишите ноль
1
|
27 / 27 / 11
Регистрация: 15.10.2013
Сообщений: 880
|
|
09.01.2016, 16:19 [ТС] | 3 |
Хотелось бы реализацию.
Добавлено через 3 часа 16 минут Ап, все еще актуально.
0
|
Модератор
13727 / 10923 / 6480
Регистрация: 18.12.2011
Сообщений: 29,157
|
||||||
09.01.2016, 20:05 | 4 | |||||
Возьмите образец
Образцы (шаблоны) программ для типовых задач И предложенный мною код вставьте в функцию
1
|
27 / 27 / 11
Регистрация: 15.10.2013
Сообщений: 880
|
|
11.01.2016, 18:05 [ТС] | 5 |
Нужна все таки помощь.
Добавлено через 3 часа 6 минут АП, нид хелп
0
|
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
|
||||||
12.01.2016, 11:09 | 6 | |||||
С такой же задачкой борюсь , давайте это делать вместе) код на рабочем компе оставил, завтра выложу. Выкладывайте ваши наработки.
Добавлено через 12 часов 51 минуту andreyananas, Выкладываю код. Пока умеет просто считать не полностью многочлен и без сортировки. Пока не в какой контейнер итоговые результаты не загружал. Короче вчера накидал побыстрому, только учусь. Уверен что криво написано и можно короче, жду комментариев.
0
|
andreyananas
|
12.01.2016, 12:02
[ТС]
#7
|
Не по теме: Ближе к вечеру отпишусь. Сейчас немного занят.
0
|
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
|
||||||||||||||||
12.01.2016, 22:13 | 8 | |||||||||||||||
Выкладываю итог часовой работы, код работает не полностью опять еще , но уже лучше. Сначала разбивает строку на подстроки с отдельными выражениями, потом определяет что есть множитель а что степень, потом записывает значения в новую строку, которая помещается в список. Короче- выражения типо 5*х^2+8-x+8*x он считает , но не сортирует. И еще один недочет , не смог добиться переноса знака, при подсчете одиночных X , т.е. если в выражении 7*х -х , то он считает как 7+1,а не 7-1. Так что вот так. Пока остановился на этом. Код очень громоздкий , проу помощи в указании недочетов по оформлении и чего я лишнего понапихал.
и еще он не пропускает пробелы, чего требует условие задачи( Добавлено через 1 час 22 минуты Вот новый код, где предварительно удаляются все пробелы если они есть. Прошу помочь решить проблему , когда если 6*x^2 -x ,программа не сохраняет значение -х и получается +1,т.е. 12*х+1, а должно быть 12*х-1;
С Минусами проблема решена. Осталось отсортировать ) Кстати такой тупой вопрос, а что значит неприведенные слагаемые ? Ниже код)
0
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||||||
12.01.2016, 22:31 | 9 | |||||
Получите undefined behaviour, так как вставка/удаление элементов в std::string и std::vector может превратить все связанные итераторы в тыкву (а может и не превратить). Для всего остального в тыкву превращаются ссылки и итераторы ведущие на удаленный элемент.
0
|
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
|
|
12.01.2016, 23:02 | 10 |
Renji, А можно поподробнее описать суть проблемы? И вообще может Ваш глаз увидит какие то недочеты. Ибо я только начал изучать С++ и возможно какие то вещи можно было сделать проще?
0
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|
12.01.2016, 23:28 | 11 |
Суть проблемы в том, что при вставке/удалении string может перенести свои данные в новое место. Причем, никого об этом не уведомляя (в том числе и итераторы). Поэтому, вы рискуете оказаться в ситуации когда итератор думает "данные лежат вон там", но в этом "вон там" уже ничего нет. Также переменятся итераторы указывающие на начало и конец контейнера. Поэтому, сравнения типа it<polynome.end() дадут непредсказуемый результат.
Контейнеры вроде std::list и std::map гарантируют что ничего, никуда переносить не будут. Зато, вместе с удаленным элементом, снесут и техническую информацию о "где лежали левый и правый соседи". Опять же, никого об этом не уведомляя. Так что итераторы указывающие на удаленный элемент заглючат после первого же ++. Как минимум непонятно зачем вам tmp = new string; вместо просто std::string tmp;.
1
|
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
|
|
12.01.2016, 23:51 | 12 |
Renji, Хм, да , действительно , я почему то подумал что если не выделять память под каждую строку, то когда записывается в список, старые значения будут заменятся новыми данными и забыл о конструкторе копирования, и то что память выделяет для отдельной строки сам список.Поправлю) А вот как лучше реализовать сортировку? Написать функтор сравнивания и запихнуть его в sort?
0
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||||||
13.01.2016, 01:06 | 13 | |||||
Лучше использовать контейнер который сортируется сам.
0
|
27 / 27 / 11
Регистрация: 15.10.2013
Сообщений: 880
|
||||||
13.01.2016, 21:52 [ТС] | 14 | |||||
Не по теме: К сожалению не мог уделить время этой теме
0
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|
13.01.2016, 21:54 | 15 |
Это код по разложению многочлена на одночлены. Как искать производную от одночлена и суммы одночленов смотрите в школьном учебнике алгебры.
0
|
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
|
|
13.01.2016, 23:45 | 16 |
Renji, А если одночлены повторяются? код проглатывать их будет же....
Добавлено через 13 минут Renji, думаю лучше взять тогда вместо map - std::unordered_map
0
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|
14.01.2016, 01:34 | 17 |
0
|
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
|
||||||
14.01.2016, 08:13 | 18 | |||||
2
|
27 / 27 / 11
Регистрация: 15.10.2013
Сообщений: 880
|
|
14.01.2016, 09:09 [ТС] | 19 |
Вот еще один человек с этих курсов=)
п.с. мог бы и чутка раньше скинуть)))
0
|
2 / 2 / 0
Регистрация: 12.05.2015
Сообщений: 155
|
|
14.01.2016, 09:41 | 20 |
m1Rr0r, Спасибо за готовый код, но не могли бы пару нюансов разъяснить Что за redex,regex_replace и что значит строка const string fmt("$011*x")? И вообще гуглю, натыкаюсь на статью regex для unix, для винды только boost ?
Добавлено через 15 минут Знаю что курсы под линекс, но привык на винде и курсы интересны.
0
|
14.01.2016, 09:41 | |
14.01.2016, 09:41 | |
Помогаю со студенческими работами здесь
20
Найти значение многочлена Найти степень многочлена Найти коэффициенты многочлена Найти производную функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
[Golang] 121. Best Time to Buy and Sell Stock
alhaos 28.01.2025
В этой задаче мы получаем слайс целых чисел, которые означают цену акции в разные моменты времени, и должны вернуть максимально возможную прибыль от купли продажи акции.
/ / . . .
|
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование
Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
|
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы
В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
|
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире
В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
|
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации
В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
|
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии
В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
|
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации
В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
|
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику
Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
|
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику
В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
|
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера
Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
|
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды
В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
|
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике
В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
|