|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.02.2011, 17:06 | #1 |
Пользователь
Регистрация: 26.10.2010
Сообщений: 29
|
умножение многочлена
суть задачи такова- нужно перемножить два многочлена, отдельно вводимые в один из двух эдитов, но дальше введения самих многочленов дойти не смог.
вот сам код (всё работает) procedure PrintPolinom(var B:link; var Ed:TEdit); var S:string; t:Link; begin S:=''; t:=B; While t<>nil do begin S:=S+'+'+IntToStr(t^.coef)+'x^'+Int ToStr(t^.st); t:=T^.next; end; ed.Text:=S; end; procedure AddToEnd (var B:link; var w:link); var t :Link; begin t:=B; if B<>nil then begin While T^.next<>nil do t:=t^.next; t^.next:=w; end else B:=w; end; procedure TForm1.FormCreate(Sender: TObject); begin p:=nil; Q:=nil; end; procedure TForm1.Button1Click(Sender: TObject); var w:link; begin new(w); W^.coef:=StrToInt(edit1.Text); W^.st:=StrToInt(edit2.Text); W^.next:=nil; AddToEnd(P,w); PrintPolinom(P,edit3); end; procedure TForm1.Button2Click(Sender: TObject); var w:link; begin new(w); W^.coef:=StrToInt(edit4.Text); W^.st:=StrToInt(edit5.Text); W^.next:=nil; AddToEnd(Q,w); PrintPolinom(Q,edit6); end; вообще, каждый множитель у меня вбивается отдельно, т.е. сначала вбивается коэффициент перед ИКС, потом его степень, нажатием на баттон он переходит в эдит уже в готовом виде (например "+7x^5"), и так далее. нужна процедура перемножения... |
28.02.2011, 17:10 | #2 | |
Форумчанин
Регистрация: 04.02.2011
Сообщений: 260
|
Цитата:
|
|
28.02.2011, 17:27 | #3 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
чтобы перемножать многочлены нужно иметь массивы (array) их коэффициентов и массив для коэфициентов результата. Затем перемножаем эти массивы.
как в столбик но без переноса десятков. _ _ _ 1 2 1 2 (1x^3 + 2x^2 + 1x^1 +2x^0) _ _ _ _ 4 1 2 ( 4x^2 + 1x^1 + 2x^0) ---------------- _ _ _ 2 4 2 2 _ _ 1 2 1 2 _ 4 8 4 8 --------------- _ 4 9 8 13 4 2 (4x^5 + 9x^4 + 8x^2 + 13x^1 + 2x^0) либо пытаемся вспомнить/найти/вывести формулу для подсчета коэффициентов результирующего многочлена. Она есть (завуалированная) даже в приведенном примере.
программа — запись алгоритма на языке понятном транслятору
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вычисление многочлена записаного в файле | Senator16 | Общие вопросы C/C++ | 4 | 16.01.2011 20:54 |
синтаксический анализ многочлена | Sparky | Помощь студентам | 1 | 20.10.2010 21:40 |
вычислить значение многочлена. С++ | varlonec | Помощь студентам | 0 | 26.01.2010 17:55 |
[Паскаль] Коэффициенты многочлена | Victorina | Помощь студентам | 2 | 04.11.2009 07:42 |
Получить значение многочлена при данном x | Aleksandr | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 07.03.2008 18:54 |