Помощь - Поиск - Пользователи - Календарь
Полная версия: одномерный массив через функцию
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
RIJIKOV
Задана последовательность N веще6ственных чисел.Вычислить значение выражения: корень в N степени,под корнем по модулю x1*x2*...xn( или s=exp(sqrt(abs(s))); )



program zadacha;
uses crt;
var n:integer;
i:byte;
x:array[1..100] of integer;
s,z:real;
function func(s:real):real;
begin
s:=s*x[i];
s:=exp(sqrt(abs(s)));

end;
begin
clrscr;
writeln('vvedite n=');
readln(n);
s:=1;
for i:=1 to n do
begin
writeln('vvedite zna4enie');
readln(x[i]);
end;
{for i:=1 to n do}
begin
s:=func(s);
s:=exp(sqrt(abs(s)));
writeln('s=',s:2:1);
end;
readln;

end.

в контрольном примере выводит s:=1 хотя должно быть совсем другое значение.
Исправьте пожалуста что не так. Заранее спасибо.
volvo
Вот эта конструкция что (по-твоему) делает:
s:=exp(sqrt(abs(s)));

?
RIJIKOV
ета конструкция и должна вычислить значение,тока почемуто не хочет unsure.gif я незнаю что нужно сделать чтобы заставить ее работать. Впринцепе ввел переменную S(типа ето должен быть ответ),ответ есть но постоянно 1. И паскаль выдает что ошибок нет,чего сделать то нужно,чтобы заработало?
volvo
Цитата
чего сделать то нужно,чтобы заработало?
Программу правильно написать!!!

Я же не просто так тебя спрашиваю, наверное, ЧТО вычисляет этот код, который я привел, а ты не хочешь отвечать. Я понимаю, что ЗНАЧЕНИЕ... А вот значение ЧЕГО - вот в чем вопрос...

Тебе же хотел помочь, ты же помощь и отвергаешь... Как хочешь dry.gif Разбирайся сам тогда...
RIJIKOV
я наверно тебя просто не понял,извени smile.gif но мне реально нужно чтобы она работала без всяких проблем,если можешь,то исправь ее пожалуста,очень тебя прошу.
RIJIKOV
Люди,ну помогите сделать!будьтеже людьми!!ниужели так сложно исправить ошибки?
Ozzя
Тебе же ответили уже. Формула неверна. Тебе нужно найти корень н-ной степени. А в формуле что?
RIJIKOV
а что если abs(s) заменить на abs(s1)? т.е. s:=exp(sqrt(abs(s1))); ? может тогда S1 нужно и в формуле
s:=s*x[i], т.е если заменить s:=s1*x[i];? как вы думаете?
RIJIKOV
любая степень обозначается как exp,т.е. експонента и в задаче ты сам можешь указать степень(нато она и n,чтобы самому ее ввести)
мисс_граффити
правда?
вообще-то exp обозначается степень числа е.
то есть ты s присваиваешь значение е в степени модуль s
а по условию тебе что надо найти?
вот и думай
RIJIKOV
народ,я тугодум blink.gif до всего додуматься мне очень сложно,я же не такой как вы smile.gif еслибы я знал как ее делать,то сюда бы не обращался. Сделайте ее пожалуста хоть ктонибудь с нуля,кому не впадлу.Я ету прогу просто не через функцию сделал и сдал преподу,формула у меня была s:=exp(sqrt(abs(s))); просто одномерный массив,за который я получил 5 smile.gif а вот через функцию его не как не могу! если хотите могу текст программы просто одномерного выложить(текст етой проги,не через функцию)?
RIJIKOV
вот ета задача не через функцию,т.е. просто одномерный и именно ее нужно сделать через функцию(и формула там правильная)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.