IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Задача на многочлены, Помогите решить
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


Кто-нибудь помогите пожалуйста решить задачу: пользователь задает два многочлена от нескольких переменных. Переменные обозначаются латинскими буквами (их число не более 26). Найти сумму и произведение этих многочленов! Заранее спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


Помогите плиз!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Если многочлен линейный то вот так можно ввести данные многочлена (значения параметров и коэффициентов при них) и вычислить его значение:

uses crt;

type

TCoeff = Single;

PTCoeffs = ^TCoeffs;

TCoeffs = array [1..1] of TCoeff;

function P(const params, coeffs: PTCoeffs; const degree: Integer): Single;
var
i: Integer;
res: Single;
begin

res := 0;

for i := 0 to pred(degree) do
res := res + params^[i] * coeffs^[i];

P := res;
end;

procedure GetPolinom(var params, coeffs: PTCoeffs; const degree: Integer);
var
i: Integer;
begin

GetMem(params, degree * sizeof(TCoeff));
GetMem(coeffs, degree * sizeof(TCoeff));

for i := 0 to pred(degree) do begin
write('params[', i, '] = '); readln(params^[i]); // значения параметров
write('coeffs[', i, '] = '); readln(coeffs^[i]); // значения коеффициентов при параметрах
end;

end;

procedure Free(var params, coeffs: PTCoeffs; const degree: Integer);
begin
FreeMem(params, degree * sizeof(TCoeff));
FreeMem(coeffs, degree * sizeof(TCoeff));
end;

var
coeffs, params: PTCoeffs;

begin

(*

Для функции p(x, y, z) = x + 2y + 3z при (x = 2, y = 3, z = 5) :

params[0] = 2
params[1] = 3
params[2] = 5

coeffs[0] = 1
coeffs[1] = 2
coeffs[2] = 3

P(x, y, z) = 1 * 2 + 2 * 3 + 3 * 5 = 23

*)

GetPolinom(params, coeffs, 3);
writeln('P = ', P(params, coeffs, 3):2:2);
Free(params, coeffs, 3);

readln;
end.




--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


Многочлен не обязательно должен быть линейным, а пользователь задает только коэфициенты!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Тогда приведи примеры (хотя бы 5-6) возможных многочленов... Ибо телепаты - в Google
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


C одними коэффициентами далеко не уедешь, тогда уж и степени надо задавать ...



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


Пользователь вводит два многочлена
2*(x^2)+2*(y^2)
2*(x^2)-2*(y^2)
Паскаль должен нам выдать
1.Произведение 4*(x^4)-4*(y^4)
2.Сумма 4*(x^2)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


Не не так. Пользователь задает массив коэффициентов и степеней каждого многочлена. Например ползователь вводит :
1. 2 3 4
2. 2 4 3
Это значит что он ввел многочлен
2*x^2+4*y^4+4*z^3
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


Помогите пожалуйста кто-нибудь с задачей!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


а как узнать, к каким переменным это относится?
то есть различить 2x^2 и 2y^2?
или порядок фиксированный, и пользователь должен вводить информацию (пусть нули) по ВСЕМ переменным?
а если у него y^2+2y - как быть?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


Каждая переменная может встречаться только 1 раз. Переменные - это английский алфавит (поэтому и ограничение 26). Переменные употребляются в алфавитном порядке. Т. е если пользователь вводит
2 3 4
1 2 3
Это значит что многочлен имеет вид 2*a+3*(b^2)+4*(c^3)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


Помогите плиз, сдавать завтра!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Гость






Цитата(Demon_6661 @ 24.12.2006 14:21)
Каждая переменная может встречаться только 1 раз.

А я введу
1) X^1 + Y^2
2) Z^3 + A^2

Как должен выглядеть результат перемножения? И где его хранить, собственно, если после твоих утверждений о том, что я привел выше, как цитату, я сделал вот так:
const
max_degree = 26;
type
tpoly = record
coeff: integer;
power: integer;
end;
tpolynom = array[1 .. max_degree] of tpoly;

Теперь результат перемножения я не могу хранить в такой структуре...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


Да нет я имею ввиду 1 раз в каждом многочлене
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Гость






Указателями пользоваться можно? Или только массивы?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


тока массивы и записи
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


help me please
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


помогите очень нужно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


Вопрос жизни и смерти, вопрос зачет или нет! Выручите пожалуйста
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


хватит флудить!
сам виноват, что до последнего момента дотянул.

ты говоришь, что каждая переменная в одном многочлене встречается только один раз.
допустим:
1) y^2+2*x
2) x^2+2*y
В сумме и x, и y будут встречаться в разных степенях...

хотя..... если можно пользоваться записями... уже что-то.
максимальная степень ограничена?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.04.2024 8:08
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name