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

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

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

 
 Ответить  Открыть новую тему 
> вычисление произведения, вычисление произведения
marwell
сообщение 5.05.2010 17:55
Сообщение #1


Бывалый
***

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

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


Напишите подпрограмму вычисления произведения вида (прикрепил) где u – заданный вектор, N – верхний предел интегрирования.
т.е. U и N просто числа?
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 5.05.2010 18:05
Сообщение #2


Гость






Поскольку Ui - то U - это массив, а N - его размер ...
 К началу страницы 
+ Ответить 
Romtek
сообщение 5.05.2010 21:41
Сообщение #3


Знаток
****

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

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


Иными словами, вектор - это одномерный массив. И в задании подразумевается, что он задан изначально (или вводится пользователем).


--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
marwell
сообщение 6.05.2010 11:37
Сообщение #4


Бывалый
***

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

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


понял, спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
marwell
сообщение 8.05.2010 14:03
Сообщение #5


Бывалый
***

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

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


не пойму, что я не так делаю...
var N,i,x:integer;
U:array [1..100] of integer;
function mas(U:array of integer):integer;
begin
for i:=1 to N do
x:=x*(1-sqr(U[i]));
end;
begin
x:=1;
write('введите N = ');
readln(N);
randomize;
for i:=1 to N do
U[i]:=2+random(4);
for i:=1 to N do
write(U[i],' ');
mas(U);
writeln ('произведение равно = ',x);
readln;
end.

результат неверный...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 8.05.2010 17:28
Сообщение #6


Гуру
*****

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

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


function mas(U:array of integer):integer;
Это у тебя открытый массив, нумерация которого начинается с нуля. А в функции ты работаешь с обычным. У него с 1-цы.
Как-то так:


type
massiv=array [1..100] of integer;
var
n,q,i:integer;
U:massiv;
function mas(n1:integer; U:massiv):integer;
var
j,t,x:integer;
begin
x:=1;
for j:=1 to N1 do
begin
t:=1-sqr(U[j]);
x:=x*t;
end;
mas:=x;
end;

begin
write('??????? N = ');
readln(N);
randomize;
for i:=1 to N do
U[i]:=2+random(4);
for i:=1 to N do
write(U[i],' ');
q:=mas(n,U);
writeln ('???????????? ????? = ',q);
readln;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
marwell
сообщение 8.05.2010 18:04
Сообщение #7


Бывалый
***

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

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


аа, вот оно что! спасибо good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
TarasBer
сообщение 11.05.2010 10:14
Сообщение #8


Злостный любитель
*****

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

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


> function mas(n1:integer; U:massiv):integer;

Тогда уж const U: massiv
Зачем лишний раз массив в стек копировать?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 28.04.2024 8:30
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"