Страница 1 из 1

Решите, плиз, задачу

Добавлено: 16 дек 2007, 19:09
batmans86
Собственно говоря, задача такая: вычислите выражение
z(x,y)=(sign(x)+sign(y))*sign(x+y). При решении задачи определите и используйте функцию sign.

Функция sign(x) определяется вроде так:
function sign(X: real): integer;
begin
if X < 0 then sign := -1
else if X > 0 then sign := 1
else sign := 0;
end;

Но как в этой функции описать y и (x+y) понятия не имею :(
Help please!!!

Re: Решите, плиз, задачу

Добавлено: 17 дек 2007, 11:03
Хыиуду
хоть сам понял, что спросил?

function z(x,y:integer):integer;
begin
z:=(sign(x)+sign(y))*sign(x+y);
end;

в чем проблема-то?

Re: Решите, плиз, задачу

Добавлено: 17 дек 2007, 13:36
batmans86
Да нет, там все так просто не получается (по крайней мере у меня). Не верите, можете сами проверить (у меня эта задача заняла 26 строк). Все равно сейчас это не имеет значения, так как эту задачу я сделал. Зато появилась следующая: В матрице z(m,n) каждый элемент разделить на диагональный, стоящий в том же столбце. Времени в у меня в обрез, поэтому если кто может, напишите пожалуйста листинг :) .

Re: Решите, плиз, задачу

Добавлено: 18 дек 2007, 11:29
Хыиуду
for i:=1 to m do
for j:=1 to n do
if i<>j then z[i,j]:=z[i,j]/z[j,j];