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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.88
NikITKA123
19 / 18 / 1
Регистрация: 28.04.2010
Сообщений: 86
#1

списки-многочлены. сложение - C++

16.09.2010, 15:40. Просмотров 3404. Ответов 11
Метки нет (Все метки)

Здравствуйте, задали сделать прогу, но я не понимаю каким образом это надо осуществить.
Задача:
Многочлен с целыми коэффициентами можно представить в виде списка, причем если коэффициент равен 0, то соответствующее звено не включается в список. Нужно описать тип данных, соответствующий такому представлению многочленов и осуществить процедуру Slozh(P,Q,R), которая строит многочлен R - сумму многочленов Q и P. Многочлены Q и P произвольные.

Подскажите как это лучше сделать и помогите, если можете, буду благодарен
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2010, 15:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос списки-многочлены. сложение (C++):

Многочлены - C++
http://s003.***********/i202/1001/dc/6e8447711438.png

Многочлены - C++
http://s44.***********/i106/1001/93/421c17bb2f28.png Прошу помочь решить\ или хоть популярно объяснить.

Многочлены над GF(2^m) - C++
Пишу кодер Рида-Соломона. Дано следующее: * m - количество битов в одном символе (читай, элементов поля GF(2^m)); * n - длина кода...

Построить интерполяционные многочлены Ньютона - C++
Построить интерполяционные многочлены Ньютона для функции F(x)=lg(x)-((x-1)/x) по следующим узлам: х=1, 2, 4, 8, 10; Проблемы возникают...

класс, моделирующий многочлены n – го порядка - C++
Разработайте класс, моделирующий многочлены n – го порядка от одной переменной. В классе должен быть конструктор копирования и оператор...

Интерполяционный многочлены по чебышевским узлам - C++
Всем здравствуйте!Столкнулся с проблемой: 1)Как находить узлы я знаю,и написал,и значения в ней нашел...Но как же строить сам многочлен я...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
16.09.2010, 15:48 #2
NikITKA123,
Слишком у вас абстрактные вопросы... "каким образом это осуществить", "как лучше сделать"... Что "это"? Что конкретно вам не понятно? Вы в совершенстве знаете Си, и просто не поняли, как представить многочлен в виде списка? Или вы хотите, чтобы за вас написали программу?
 Комментарий модератора 
Отправка во фриланс недопустима в тематическом разделе.
0
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
16.09.2010, 15:51 #3
проще всего создать консанту n отвечающую за степень многочлена, и создать массив размерности n, с элементами-коефициентами. потом в процедуру загоняешь 3 массива, и с помощю цикла приравниваешь злементу массиву R, сумму соответствуещих элементно массивов P и Q.
Цитата Сообщение от NikITKA123 Посмотреть сообщение
если коэффициент равен 0, то соответствующее звено не включается в список
а вот это я не понял. как тогда отличать друг от друга коэфициенты??
1
NikITKA123
19 / 18 / 1
Регистрация: 28.04.2010
Сообщений: 86
16.09.2010, 15:56  [ТС] #4
нет, си я знаю не так хорошо. но ответ на вопрос "как представить многочлен в виде списка?" мне очень пригодится. кстати что такое фриланс?

Добавлено через 3 минуты
Цитата Сообщение от nikkka Посмотреть сообщение
как тогда отличать друг от друга коэфициенты??
в смысле отличать? коэффициенты мы задаем сами абсолютно любые
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
16.09.2010, 16:05 #5
nikkka, NikITKA123,
Думаю, представить многочлен можно структурой, содержащий поля "коэффициент" и "степень". Таким образом, можно не заносить в список (а имеется ввиду здесь, как я понял, именно связный список на основе структур) элементы с равными нулю коэффициентами (чтобы не забивать память), а для определения количества подряд идущих нулевых коэффициентов использовать разность соседних степеней.
1
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
16.09.2010, 16:05 #6
NikITKA123, в данном случеи фриланс-форум, это форум где вы платите деньги за решение ваших задачь.
0
NikITKA123
19 / 18 / 1
Регистрация: 28.04.2010
Сообщений: 86
16.09.2010, 16:10  [ТС] #7
Цитата Сообщение от nikkka Посмотреть сообщение
NikITKA123, в данном случеи фриланс-форум, это форум где вы платите деньги за решение ваших задачь.
не, мне такого не надо. я хочу научится программировать, а не просто кое-как получить баллы и зачет)
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
16.09.2010, 16:16 #8
Ну а вообще я бы лучше поступил, как сказал nikkka (вообще-то это первая мысль, приходящая в голову при решении таких задач): завести массивы размерности n и m, где n - степень многочлена P, m - степень многочлена Q, а также третий массив размерности max(n, m). Тогда сумма многочленов P и Q будет суммой соответствующих элементов двух массивов. Но тогда и нулевые слагаемые придётся заносить в массивы, иначе собьётся нумерация (в данном случае показателем степени при соответствующем слагаемом будет индекс соответствующего элемента массива).
1
NikITKA123
19 / 18 / 1
Регистрация: 28.04.2010
Сообщений: 86
16.09.2010, 16:19  [ТС] #9
silent_1991 ну и последний вопрос к вам, если позволите. массивы одномерные?
0
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
16.09.2010, 16:23 #10
NikITKA123, да
1
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
16.09.2010, 16:24 #11
NikITKA123,
Да, разумеется. Пример:
Код
P(x) = 5x^4 + 2x^3 + x + 1
Q(x) = 3x^2 + 2x + 1
n = 5;
m = 3;
masP[5] = {1, 1, 0, 2, 5};
masQ[3] = {1, 2, 3};
Как видите, я представил массивы относительно исходных многочленов задом наперёд, поскольку в дальнейшей реализации суммы это легче.
Код
max(5, 3) = 5;
masR[5] = {2, 3, 3, 2, 5};
R(x) = 5x^4 + 2x^3 + 3x^2 + 3x + 2
2
NikITKA123
19 / 18 / 1
Регистрация: 28.04.2010
Сообщений: 86
16.09.2010, 16:28  [ТС] #12
спасибо всем, именно эти вопросы меня и интересовали думаю, что написание проги проблем теперь не составит)

Добавлено через 2 минуты
silent_1991 вам отдельное спасибо за разъяснения и за этот пример в частности
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2010, 16:28
Привет! Вот еще темы с ответами:

Списки, как склеить списки между собой? - C++
Ребят, привет всем, есть код, в классе которого описаны несколько методов: добавление элемента в список, удаление и просмотр списка, дак...

Как запрограммировать математические многочлены, формулы? - C++
Каким образом запрограммировать математические вычисления вида: (a1+a2+… + an)/n ( a1+(a2+a3)/2+(a4+a5+a6)/3+… +(a'n-k'+...+an)/k ) / p...

Алгоритм генерации типовых задач по теме "Многочлены" - C++
Помогите с алгоритмом) никак не могу написать алгоритм генерации((( Например, деление многочленов

Многочлены и списки - Pascal
Всем привет! очень сильно нужна ваша помощь дана задача: "перемножить два многочлена" 2x^4-4x^2+1 умножить на x^3-2x как написать и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.09.2010, 16:28
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru