0 / 0 / 0
Регистрация: 05.03.2009
Сообщений: 13
|
|
1 | |
Построение многочленов и арифметические операции с ними05.03.2009, 01:02. Показов 5541. Ответов 16
Метки нет (Все метки)
дан многочлен вида
p(x) = c1xe1 + c2xe2 + … + cnxen , где e1 > e2 > … > en >= 0. Этот многочлен можно представить в виде связанного списка, где каждая ячейка имеет три поля: первое – для коэффициента ci, второе – для показателя степени ei, третье – для указателя на следующую ячейку. Далее требуется совершить арифмет операции. помогите составить такие многочлены.
0
|
05.03.2009, 01:02 | |
Ответы с готовыми решениями:
16
Арифметические операции с комплексными числами Арифметические операции над матрицами арифметические операции в паскале, использование ассемблера Арифметические операции в q-ричной системе счисления |
257 / 173 / 27
Регистрация: 17.10.2008
Сообщений: 770
|
|
05.03.2009, 09:21 | 2 |
А что такое у тебя x--это вводимая величина? Да и нужно ли тебе пройдя все элементы возвратится к первому элементу или просто нуно проганять каждый раз этот многочлен? Какие арифметические операции потом будут, просто самое сложное в списке это ссылки на нужные места...
0
|
0 / 0 / 0
Регистрация: 05.03.2009
Сообщений: 13
|
|
05.03.2009, 10:28 [ТС] | 3 |
Рассмотрим многочлены вида
p(x) = c1xe1 + c2xe2 + … + cnxen , где e1 > e2 > … > en >= 0.Такой многочлен можно представить в виде связанного списка, где каждая ячейка имеет три поля: первое – для коэффициента ci, второе – для показателя степени ei, третье – для указателя на следующую ячейку. Для описанного представления многочленов напишите программу их сложения и умножения. вот условие полностью... Мб нужно на выводе получить некий многочлен равный произведению или сумме многочленов..
0
|
257 / 173 / 27
Регистрация: 17.10.2008
Сообщений: 770
|
||||||
06.03.2009, 02:40 | 4 | |||||
Аго понял, что то подобное делал уже, вечерком постараюсь накатать...
Добавлено через 12 часов 20 минут 19 секунд Только в этой программе я не считал сумму и произведение, как я понял это нужно 2 раза выполнить 1 и 2 процедуру и сложить полученные значения(или умножить) это попробуй сам додумать,если что то пиши там легко, главное что тебе нуно тут это очистка списка L:=nil; Держи:
Да кстати если будеш проверять и вылезет ошибка вдруг какая то скажи я исправлю, только укажи что за данные вводил, что получилось и что получиться должно...Нормально потестировать прогу времени небыло...
1
|
0 / 0 / 0
Регистрация: 05.03.2009
Сообщений: 13
|
|
06.03.2009, 16:29 [ТС] | 5 |
спасибо большое.)) сеня днем потестю))
Добавлено через 12 часов 45 минут 29 секунд Имхо косяк(... иси значение х сделать 3 и потом вводить значение i=3 и потом все время 3 вводить, то прога бесконечно запрашивает ввод числа i... или я настолько нуб что не втыкаю смысл программы(
0
|
257 / 173 / 27
Регистрация: 17.10.2008
Сообщений: 770
|
|
06.03.2009, 17:19 | 6 |
Да чтобы закончить ввод нужно просто при вводе DataCi, и DataEi оставить пустыми и понажимать интер...Кстати у тебя не сказано что число элементов не может быть больше X, или это не нуно???Когда прога выдаёт mistake--последовательность обнуляется....но задаёт что типо нуно ввести элементы...
Добавлено через 2 минуты 27 секунд Значение Х кстати не зависит от самого ввода последовательности ci,ei X-используется только при рассчёте формулы... Добавлено через 8 минут 17 секунд Тьфу понял, е очень трезвый просто, тебе вначале нужно нажать i=1 чтобы заполнить последовательность какими ли числами, если ты будешь сразу i=3 тогда просто данных нет, чтобы их вывести, вот она типо выводит пустую строчку и запрашивает снова i.Для понимания вначале i=1 введи данные, а потом уже i=3 и прога выдаст введённые данные...
0
|
0 / 0 / 0
Регистрация: 05.03.2009
Сообщений: 13
|
|
06.03.2009, 18:52 [ТС] | 7 |
все ранво не оч понял что делает прога... что как-то я ввожу цифирки а он меня просит их вводить снова и снова.... имхо это бред... нельзя ли сначала запрашивать количетсво многочленов, которые нужно задать, а потом для каждого вводить цифирки??... и по идее мне нужно на выходе просуммировать либо коэффициенты, либо показатели степеней и получить не число а такой же структуированный многочлен вида
c1xe1 + c2xe2 + … + cnxen , где e1 > e2 > … > en >= 0. но как я понял это нужно через список замутить, а я не оч рублю как это сделать..
0
|
257 / 173 / 27
Регистрация: 17.10.2008
Сообщений: 770
|
|
06.03.2009, 22:03 | 8 |
что как-то я ввожу цифирки а он меня просит их вводить снова и снова-----ты код программы хоть смотрел? если ты просто не введёшь ничего вместо dataci и DataEi то и ввод прекратится и ты попадёшь в меню где нужно и ввести i и выбрать то действие которое ты хочешь.
нельзя ли сначала запрашивать количетсво многочленов, которые нужно задать, а потом для каждого вводить цифирки??----у тебя в задаче ничего про это небыло сказано, вот я и не делал, моё решение заключено в этом ответе в пункте первом и по идее мне нужно на выходе просуммировать либо коэффициенты, либо показатели степеней и получить не число а такой же структуированный многочлен вида-------ты сам то понял что сказал, зачем просуммировать и вывести многочлен? тогда суммировать и вовсе не нужно получается...И у тебя в вопросе написано что нужно представить в виде связного списка, а не выводить этот список...Если выводить список, то нужно строчку формировать... (из задания)Для описанного представления многочленов напишите программу их сложения и умножения. вот условие полностью...------может нужно создать 2 списка и с между каждыми элементами многочлена из списка 1 и списка 2 сделать арифметическое действие...Например1=1x2+1x1... p2=4x3+10x2 и получится p3=(1x2+4x3)+(1x1+10x2)+... Так что ли? Самое лудшее уточни задание...
0
|
0 / 0 / 0
Регистрация: 05.03.2009
Сообщений: 13
|
|
06.03.2009, 23:09 [ТС] | 9 |
спасибо)) я просто немного нуб в этой теме( хотя ща я код посмотрел и разобрался... а терь ещё маленький вопрос: что эта программа выводит в конечном итоге?? я что-то не оч этот момент понял)
0
|
257 / 173 / 27
Регистрация: 17.10.2008
Сообщений: 770
|
|
07.03.2009, 10:38 | 10 |
В данный момент она выводит посчитанное значение p(x) т.е. после того как ты введёшь Ci и Ei эта программа вычисляет формулу,которую ты всё пишешь p(x)=сi*x^ei+...
Добавлено через 3 минуты 12 секунд чтоб понять что она выводить введи в dataCi всегда 1 а вместо ei последовательно 3-2-1 при х=2 должно получиться 14
1
|
0 / 0 / 0
Регистрация: 05.03.2009
Сообщений: 13
|
|
07.03.2009, 15:49 [ТС] | 11 |
спасибо большое.... но объясни мне плиз ещё 1 момент... как сделать чтоб вначале спрашивалось сколько нужно ввести многочленов...а потом вводилось все так же как ты написал, только после пропуска Еi и Ci требовалось вводить остальные многочлены...я понятно написал свою мысль? т.е чтобы получалось в конце P1, P2, и т.д.
просто я не оч могу понять откуда взять остальные многочлены для провидения арифмет операций
0
|
257 / 173 / 27
Регистрация: 17.10.2008
Сообщений: 770
|
|
07.03.2009, 19:19 | 12 |
Я понял твой вопрос и к чему ты клонишь, т.е. ты хочешь как я раньше и писал вписывать несколько многочленов а потом их считать и делать между ними арифметические операции...Тут есть два варианта решения:
1)Самый сложный, это создать список списков--в данном случае их будет можно будет создать в любом колличестве и они все будут храниться в памяти, я даж не смогу сказать на сколько усложнится программа в данном случае, такого ещё не писал 2)Второй способ подразумевает использование массива, т.е. ты объявляешь массив длинны например 90000 а при вводе указываешь то колличество P(x)i сколько тебе нужно, т.е. после того как ты введёшь первый P(x)1 и второй P(x)2 их результаты(т.е. результат 2 процедуры) будет записан в данный массив-- получится что у тебя есть массив с посчитанными многочленами P(x)i и с ними ты сможешь делать что хочешь... Только в данном случае, как я думаю, более 2 вводить не имеет смысла--из-за того что они допустим будут тупо все складываться или умножаться или делиться, смотря что нужно... Ты мне скажи где ты учишся(вышка школа, техникум или училище) и на кого...таким образом можно оценить сложность твоей задачки...Так же хорошо знать что вы проходите и по какой теме задали задание, мож это курсовая у тебя... в принципе кстати 2 способ очень простой...надо просто создать цикл, а в цикл запихнуть первую и вторую процедуру и всего то...
0
|
0 / 0 / 0
Регистрация: 05.03.2009
Сообщений: 13
|
|
07.03.2009, 22:40 [ТС] | 13 |
учусь в универе на физика-теоретика)) тема структура данных и алгоритмы..
2 способ имхо выход... сможешь добавить/изменить свою прогу а то я не оч представляю в какую чать программы это засовывать.
0
|
257 / 173 / 27
Регистрация: 17.10.2008
Сообщений: 770
|
||||||
08.03.2009, 00:05 | 14 | |||||
ооо,родная душа, наконец то физики пошли, я на физико-техническом на специальности радиофизика и электроника
Агась сейчас изменю, а изменять нуно в самом начале проги.. там где просится ввод i... Добавлено через 1 час 19 минут 49 секунд Вот я написал програмку, правда имеется куча изменений по сравнению с той что была,это я сделал для того, чтобы проще разобраться было... Так что потрудись и разберись, что не понятно будет спрашивай...
Удачи в разбирательстве...
1
|
0 / 0 / 0
Регистрация: 05.03.2009
Сообщений: 13
|
|
25.03.2009, 17:41 [ТС] | 15 |
нужно объяснить пару моментов
L^.las^.dataEi; NowElem^.next; L^.las^.next; L^.las что это значит?? я просто такие записи никогда не всречал(( со всем остальным вроде норм
0
|
257 / 173 / 27
Регистрация: 17.10.2008
Сообщений: 770
|
|
25.03.2009, 23:10 | 16 |
zadrot, ^-называется указателем
L^.las-указатель на последний элемент списка L L^.las^.next;-указатель на следующий(next) элемент стоящий после последнего(las) элемента NowElem^.next;-указатель на следующий элемент списка NowElem L^.las^.dataEi;-указатель на данные(dataEi) последнего элемента из списка L вот что то в этом роде если тупо, насчёт этого возьми книжку по паскалю в которой рассматриваются списки и там всё это подробно описано--кстати это наибольшие проблеммы в списках,знать что за чем следует и как к чему обратиться с помощью указателей...
1
|
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 4
|
|
29.03.2009, 21:53 | 17 |
у меня та же проблема не могу написать программу( я чайник. Етот код код должен выдавать значение или чтото в виде такого исходные: (x^3+3x^2+2)*x^2
результат: x^5+3*x^4+2*x^2? заранее спс... Добавлено через 5 минут 38 секунд У меня задача многочлен представлен в виде односвязного списка нужно 2 многочлена или больше в виде ax^y+....+ bx+c выполнить произведение и производную
0
|
29.03.2009, 21:53 | |
29.03.2009, 21:53 | |
Помогаю со студенческими работами здесь
17
Двумерные массивы, операции над ними Найти сумму чисел n используя только элементарные арифметические операции Простые типы данных и операции над ними. Подсчитать результат, выполняя арифметические операции в порядке их приоритета Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |